RESTful框架是什么?极悦小编来给大家进行介绍。
REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。
RESTful是一个针对URI的架构,使用RESTful风格的URI可以使URI更具可读性。代码更加整洁且富有逻辑性。
首先要明白,RESTful架构是面向资源的。
每一个URI可以确定一个资源。而用户或程序员使用RUI其实就是在操作资源。
因此至始至终都应该围绕资源来设计URI。
1.使URI更具可读性,避免无意义的URI。URI的作用就是指向一个确定的资源。通过URI就可以知道操作的是什么资源。
2.使用一个合理的URI架构可以简化开发,避免走入误区,减少犯错成本。
3.构建起程序员之间的约定。像SpringBoot的理念一样约定大于配置。大家保持同一个约定,那么你就可以更加高效的读懂其他人的代码。可以大幅节约开发时间,减少不必要的误解。
知道了RESTful架构的作用,那么接下来就进入正题吧。真正学习如何使用RESTful架构。
1.明确URI在操作什么资源
假设现在要做一个登录模块,那么登录时操作的资源就是用户(user)。
那么你的URI就应该使用/user或/users。
这个单词用单数形式还是复数形式都可以,这里建议使用复数形式。
比如你的服务器网址是http://api.example.com
那么操作user的URI就可以是http://api.example.com/users。
2.明确URI在做什么操作。
RESTful架构要求统一使用标准的HTTP方法。如GET,POST,PUT等。
GET
安全且幂等
获取表示
变更时获取表示(缓存)
使用GET不应该对服务器状态产生影响。例如增加session之类。
POST
不安全且不幂等
使用服务端管理的(自动产生)的实例号创建资源
创建子资源
部分更新资源
PUT
不安全但幂等
用客户端管理的实例号创建一个资源
通过替换的方式更新资源
DELETE
不安全但幂等
删除资源
3.可以在URI里带上资源的主键
如果要使用主键来获得资源可以在URI里加上主键。如:
http://api.example.com/users/1。
要获取资源集合的话,可以用,或;来分割主键。如:
http://api.example.com/users/1,2,3,4。
http://api.example.com/users/1;2;3;4。
4.在URI里边带上版本号
有些API在URI里边带上版本号,例如:
http://api.example.com/1.0/users
http://api.example.com/2.0/users
http://api.example.com/3.0/users
用来区分不同版本的URI接口。
5.使用/来区分资源的层级关系
例如上述
/git/git/commit/e3af72cdafab5993d18fae056f87e1d675913d08
就表示了一个多级的资源, 指的是git用户的git项目的某次提交记录,
又例如/orders/2012/10可以用来表示2012年10月的订单记录。
6.使用?用来过滤资源
很多人只是把?简单的当做是参数的传递,很容易造成URI过于复杂、难以理解。
可以把?用于对资源的过滤,
例如/git/git/pulls用来表示git项目的所有推入请求,
而/pulls?state=closed用来表示git项目中已经关闭的推入请求,
这种URL通常对应的是一些特定条件的查询结果或算法运算结果。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习