Restful-Api知识点总结

1.HTTP请求方法

1.GET:查询,从服务器取出资源
2.POST:创建单个资源
3.PUT/PATCH:在服务器更新资源
4.DELETE:删除

安全和幂等性:

安全性 幂等性
get
post × ×
put ×
DELETE ×

2.状态码

1xx:相关信息
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务器错误

状态码 状态说明
200 OK [GET]:服务器成功返回用户请求的数据,该操作是幂等性的
201 CREATED [POST/PUT/PATC用户新建或修改数据成功]
202 Accepted [*]:表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT [DELETE]:用户删除数据成功。
400 INVALID REQUEST [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
401 Unauthorized [*]:表示用户没有权限(令牌、用户名、密码错误)。
403 Forbidden [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
404 NOT FOUND [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
406 Not Acceptable [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
410 Gone [GET]:用户请求的资源被永久删除,且不会再得到的。
422 Unprocesable entity [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
500 INTERNAL SERVER ERROR [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

3.Format

常见的3种body format:
1.raw:可以上传任意格式的文本,可以上传Text,JSON,XML等,但目前大部分还是上传JSON格式数据。当后端需要接收JSON格式数据处理的时候,可以采用这种格式来测试。
例Content-Type: application/json

POST /v1/animal HTTP/1.1
Host: api.example.org
Accept: application/json
Content-Type: application/json
Content-Length: 24
 
{   
  "name": "Gir",
  "animalType": "12"
}

2.Content-Type: application/x-www-form-urlencoded (浏览器POST表单用的格式),是form表单默认的encType,form表单会将表单内的数据转换为键值对,这种格式不能上传文件。

POST /login HTTP/1.1
Host: example.com
Content-Length: 31
Accept: text/html
Content-Type: application/x-www-form-urlencoded
 
username=root&password=Zion0101

3.form-data :就是form表单中的multipart/form-data,会将表单数据处理为一条信息,用特定标签符将一条条信息分割开,而这个文件类型通常用来上传二进制文件。

上一篇:ServiceComb 设计揭秘:标准与开放


下一篇:Springmvc Controller和RestFul风格