前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django RESTful API设计指南

Django RESTful API设计指南

作者头像
Autooooooo
发布2020-11-09 11:18:07
1.1K0
发布2020-11-09 11:18:07
举报
文章被收录于专栏:Coxhuang

RESTful API设计指南

#1 环境

代码语言:javascript
复制
Python3.7.3
djangorestframework==3.8.2

#2 动词

methods

url

说明

GET

/zoos

列出所有动物园(列表)

GET

/zoos/id/

获取某个指定动物园的信息(详细信息)

POST

/zoos

新建一个动物园

PUT

/zoos/id/

更新某个指定动物园的信息

DELETE

/zoos/id/

删除某个指定动物园

#3 状态码(Status Code)

#3.1 HTTP 状态码主要有以下几类

  • 1xx —— 元数据
  • 2xx —— 正确的响应
  • 3xx —— 重定向
  • 4xx —— 客户端错误
  • 5xx —— 服务端错误

#3.2 常见的 HTTP 状态码可见以下表格

代码

msg

methods

说明

100

Continue

[*]

客户端应当继续发送请求。

200

Ok

[GET]

请求已成功,请求所希望的响应头或数据体将随此响应返回。

201

Created

[POST/PUT/PATCH]

用户新建或修改数据成功。

202

Accepted

[*]

表示一个请求已经进入后台排队(异步任务

204

No Content

[DELETE]

用户删除数据成功。

400

Bad 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

[*]

服务器发生错误,用户将无法判断发出的请求是否成功

502

Server Error

[*]

后端服务挂掉或者服务器压力过大,nginx接到的请求无法及时传递给后端的服务处理,这个时候就会出现502错误。

#4 curl 命令参考

代码语言:javascript
复制
curl -i -H "Content-Type: application/json" -X DELETE http://localhost:5632/blog/api/articles/2

选项

作用

-X

指定 HTTP 请求方法,如 POST,GET, PUT

-H

指定请求头,例如 Content-type:application/json

-d

指定请求数据

—data-binary

指定发送的文件

-i

显示响应头部信息

-u

指定认证用户名与密码

-v

输出请求头部信息



本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/10/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RESTful API设计指南
  • #1 环境
  • #2 动词
  • #3 状态码(Status Code)
    • #3.1 HTTP 状态码主要有以下几类
      • #3.2 常见的 HTTP 状态码可见以下表格
      • #4 curl 命令参考
      相关产品与服务
      Serverless HTTP 服务
      Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档