一、Restful 风格接口
Restful 风格的 API 是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
在 Restful 风格中,用同一个请求接口(URL)而用不同的请求方式,这就避免了编写多个不同的 URL,通过请求的方式也更容易区分出每个方法的功能。
客户端使用 GET、POST、PUT、DELETE 4 个表示操作方式的动词对服务端资源进行操作:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源
二、RESTful 风格接口注意事项:
2.1、RESTful 接口 URL 命名原则
-
命名原则 1:HTTP 方法后跟的 URL 必须是名词且统一成名词复数形式
-
命名原则 2:URL 中不采用大小写混合的驼峰命名,尽量采用全小写单词,如果需要连接多个单词,则采用〞-”连接
-
示例:/users、 /users-fans;反例:/getUsers、 /getUsersFans
2.2、RESTful 接口 URL 分级原则
-
分级原则 1:一级用来定位资源分类,如 /users 即表示需要定位到用户相关资源
-
分级原则 2:二级仍用来定位具体某个资源,如 /users/20 即表示 id 为 20 的用户,再如 /users/20/fans/1 即表示 id 为 20 的用户的 id 为 1 的粉丝
-
一条小建议:原则是为了让我们的开发更加规范,但是不能成为束缚我们开发的枷锁!
2.3、复杂 get 请求接口命名示例:
三、接口的编写
3.1、get 方式的请求参数详解:
参数拼接与路径中
-
后端接口
1 |
|
-
请求地址
1 | localhost:8080/hello/tom |
以键值对形式拼接于路径中
-
后端接口
1 |
|
-
请求路径
1 | localhost:8080/hello?name=tom |
注意:多个参数之间使用 & 连接
自定义参数名称:
用于拼接在路径后边的参数名称和接收名称不一致的时候使用
-
后端接口
1 |
|
-
请求路径
1 | localhost:8080/hello?namename=tom |
可缺省参数
-
后端接口
1 |
|
默认值参数
-
后端接口
1 |
|
-
请求地址
1 | localhost:8080/hello |
使用 map 接收参数
-
后端接口
1 |
|
-
请求地址
1 | localhost:8080/hello?name=tom&age=18 |
使用对象接收参数
-
后端接口
1 |
|
-
请求地址
1 | localhost:8080/hello?name=tom&age=jerry |
其中,name 和 age 是实体对应的属性,必须要保证其一致性,才能接收到参数。
3.2、post 方式
1 | // 用户注册 |
put 方式
1 |
|
delete 方式
1 | // 删除用户 |