请求方式与请求参数
常用的请求方式无非就是增删改查,在http请求中增删改查对应的请求方式分别为:
- post:增,提交数据给服务端
- delete:删,删除指定的数据
- put:改,更改服务端已有的数据
- get:查,从服务端获取数据
与这些相对的还有这些请求方式携带参数的形式,总共有三种携带数据的方式:
-
query参数:
即查询字符串,就是我们最最常见的在地址栏上携带参数,get请求常用这种方式携带参数,例如
/addUser?userName=asuhe&userId=1
。这种请求方式用?
来与请求路径分割,当携带多个query参数时就用&
来分割参数- query参数的数据是显示暴露在地址栏上的
- 编码方式为
urlencoded
-
params参数
params参数和query参数一样是显示地暴露在地址栏上的,例如server:
/addUser/:userId
,client:/addUser/1
,服务端就收到userId=1
。 -
请求体参数
通常post请求发送的参数就是请求体参数,用这种方法携带参数会将参数包含在http请求的请求体中。该种参数有两种格式一种是
urlencoded
,另一种是json
urlencoded
格式:在请求体中参数是以类似query
参数的形式存放,例如:name=asuhe&age=18
。请求头参数的格式为:Content-Type: application/x-www-form-urlencoded
json
格式:参数在请求体中以json
格式存放,例如:{"name":"tom","age":18}
。其请求头中的参数为:Content-Type: application/json
请求方式与请求参数之间的联系
- 通常情况下,请求方式与请求参数可以任意搭配。也就是说,即使我们使用
post
的方式提交参数,我们也可以使用query
参数的形式来携带提交的数据 - 理论上一次请求可以使用上述三种类型参数中的任何一种,也可以同时使用不同类型的参数来完成一次请求
- 但
get
请求方式有些特殊,get
方式提交请求不能使用请求体参数来携带数据,因为get
请求是没有请求体的
API接口风格
根据后端接口处理请求的方式,我们可以将API接口分为restful
风格和非restful
风格的API。
REST API
rest API
即restful
风格的API有如下特点:
server
后端CURD操作是根据client
发送请求的方式来决定的- 同一个请求路径可以进行多个操作
- 请求方式会用到
get
、post
、put
、delete
通常rest API
对同一数据进行操作时,只有一个路径。例如对用户信息进行CURD,rest API
的形式为/user
。客户端要对用户信息进行增就使用post
请求提交数据,删就用delete
请求,依次类推实现数据操作。这一个接口就实现了CURD四种功能
非REST API
非rest API
即restless
风格的API,它有如下特点:
- 后端CURD操作不根据
client
的请求方式决定,而是根据请求路径 - 一个请求路径只对应一个操作
- 一般只使用
get
、post
请求就够了
开发中最常见的一个操作对应一个请求路径的就是restless API
了。