Django Rest Framework 介绍

一、什么是RESTful

  • REST与技术无关,代表的是一种软件的架构风格,
  • REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态
  • 对于REST这种面向资源的构架风格,有人还提出一种全新的结构理念,即:面向资源架构

 

二、RESTful API设计的10种规范

  • 这里我们先提到一个名词:接口
    • 而接口本质上是一个url,而有时候在Java/C# 中是一种约束
    • 约束继承(实现)了他的类中必须含有接口中的方法
  1. method(根据method不同,进行不同操作)
    • GET:从服务器中取出资源
    • POST:从服务器上新建一个资源
    • PUT:从服务器上更新资源(客户端提供改变后的完整资源)
    • PATCH:从服务器上更新资源(客户端提供改变的资源)
    • DELECT:从服务器删除资源
  2. 面向资源编程(url的后缀是一个名词,我们可以对这个名词进行增删改查)
    • http://www.xxxx.com/salary
  3. 体现版本
    • http://www.luffycity.com/v1/salary
    • http://www.luffycity.com/v2/salary
  4. 体现api
    • http://www.luffycity.com/api/v1/salary
    • http://www.luffycity.com/api/v2/salary
  5. https(建议使用https--安全)
  6. 状态码
    • 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
      201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
      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 - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
      View Code

相关文章:

  • 2021-08-13
  • 2021-06-13
  • 2021-06-19
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-22
  • 2021-11-19
  • 2021-08-01
  • 2021-12-30
  • 2021-05-23
  • 2022-12-23
相关资源
相似解决方案