restful相关知识

一、Restfull介绍

参考资料: https://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

此系列是python框架学习系列,根据相关资料学习整理,本篇是drf框架学习的第一篇。

  • REST,即Representational State Transfer的缩写,既”表现层状态转化”。
  • RESTful架构:
    • 每一个URI代表一种资源;
    • 客户端和服务器之间,传递这种资源的某种表现层;
    • 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。
(1)、格式
  • https://api.example.com/v1/zoos
(2)、资源操作类型
  1. GET(SELECT):从服务器获取资源(一项或多项)
  2. POST(CREATE):在服务器新建一个资源
  3. PUT(UPDATE):在服务器端更新资源(客户端需要提供改变后的完成资源)
  4. PATCH(UPDATE):在服务端更新资源(客户端提供改变哪个属性),通常是部分更新
  5. DELETE(DELETE):删除资源
  6. OPTION:获取资源哪些属性是可以改变的
  7. HEAD:获取资源元数据
(3)、样例
  1. GET https://api.example.com/v1/zoos : 列出所有动物园
  2. POST https://api.example.com/v1/zoos: 新建一个动物园
  3. GET https://api.example.com/v1/zoos/id: 获取某个指定动物园信息
  4. PUT https://api.example.com/v1/zoos/id: 更新某个指定动物园信息(提供该动物园全部信息)
  5. PATCH https://api.example.com/v1/zoos/id: 更新某个指定动物园信息(提供该动物园部分信息)
  6. DELETE https://api.example.com/v1/zoos/id: 删除某个动物园
  7. GET https://api.example.com/v1/zoos/id/animal: 列出某个指定动物园的所有动物
  8. DELETE https://api.example.com/v1/zoos/id/animals/id:删除某个指定动物园的指定动物
(4)、状态码
  1. 200 OK ---[GET]:成功,幂等操作
  2. 201 CREATED ---[POST/PUT/PATCH]:新建或修改数据成功
  3. 202 Accept ---[*]:请求进入后台排队
  4. 204 NO CONTENT ---[DELETE]:用户删除数据成功
  5. 400 INVALID REQUEST ---[POST/PUT/PATCH]:用户发出的请求错误,服务器没有进行相应处理,此操作幂等
  6. 401 Unauthorized --[*]:用户没有权限(令牌,账户,密码错误)
  7. 403 Forbidden ---[*]:用户得到授权,但是访问被禁止
  8. 406 Not Acceptable ---[GET]:用户请求格式不可得(例如用户请求json,但只有xml)
  9. 410 Gone ---[GET]: 请求的资源被永久删除
  10. 422 Unprocesable entity ---[POST/PUT/PATCH]:创建一个对象时,发生验证错误

文章作者: BY Jemmy yang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BY Jemmy yang !
评论
 本篇
restful相关知识 restful相关知识
一、Restfull介绍 参考资料: https://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html 此系列是python框架学习系列,根据相关资料学习整理
2020-10-26 BY Jemmy yang
下一篇 
mysql技术内幕之innodb简介 mysql技术内幕之innodb简介
本系列是mysql技术内幕-innodb存储引擎一书的笔记总结 一、Innodb存储引擎1.1 体系架构1.1.数据库文件.frm: myisam和innodb存储引擎的表结构文件 .MYI: myisam存储引擎的表索引文件 .MYD
2020-05-26 BY 木易杨