前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django进阶篇 Rest framework (三)

Django进阶篇 Rest framework (三)

作者头像
小团子
发布2019-07-18 11:25:19
2910
发布2019-07-18 11:25:19
举报
文章被收录于专栏:数据云团数据云团数据云团

RESTful API 设计指南:

  • 协议
  • 域名
  • 版本
  • 路径
  • HTTP 动词
  • 过滤信息
  • 状态码
  • 错误处理
  • 返回结果
  • Hypermedia API

① 协议

API 与用户的通信协议,总是使用 HTTPs 协议。

② 域名

<1> 应该尽量将 API 部署在专用域名下(这种情况会存在跨域问题)

https://api.example.com

<2> 如果确定 API 很简单,不会有进一步的扩展,可以考虑放在主域名下。

https://example.org/api

③ 版本

  • 应该将 API 的版本号放入 URL。

https://api.example.com/v1/

  • 另一种做法是,将版本号放在 HTTP 头信息中,但不如放在 URL 方便和直观。

https://api.example.com/?version=v1

④ 路径

路径又称“终点”(endpoint),表示 API 的具体网站,网络上任何东西都是资源,均使用名词表示(可复数),在 RESTful 架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。数据库中的表都是同种记录的“集合”,所以 API 中的名称也应该使用复数。

https://api.example.com/v1/zoos

https://api.example.com/v1/animals

https://api.example.com/v1/employees

⑤ HTTP 动词

对于资源的具体操作类型,由 HTTP 动词表示。

  • 常用的 HTTP 动词有下面五个(括号里是对应的 SQL 命令);

GET( SELECT ):从服务器取出资源(一项或多项);

POST( CREATE ):在服务器新建一个资源;

PUT( UPDATE ):在服务器更新资源(客户端提供改变后的完整资源);

PATCH( UPDATE ):在服务器更新资源(客户端提供改变的属性);

DELETE( DELETE ):从服务器删除资源。

  • 还有两个不常用的 HTTP 动词:

HEAD:获取资源的元数据。

OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档