django restful API 代码自动生成_restful接口设计规范

django restful API 代码自动生成_restful接口设计规范restful接口规范什么是接口规范?接口规范就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据。如何写接口:接口规范是规范化书写接口的,写接口要写url、响应数据​注:如果将请求参

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

restful接口规范

  什么是接口规范?接口规范就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据。如何写接口:接口规范是规范化书写接口的,写接口要写url、响应数据
​  注:如果将请求参数也纳入考量范围,那就是在写接口文档
 

url

restful接口的url规范,遵循以下6个规范
 

1.用关键字标识接口url

比如登录的接口,可以用下面的url,这样我们阅读的时候,一眼就能看出这个是登录接口

www.baidu.com/login/

注意:我们的URI不应该使用动作来描述,比如createUser
 

2.接口数据安全性决定优先选择https协议

 

3.如果一个接口有多版本存在,需要在url中标识体现

假如我们刚开发一个后台,那第一个版本就是v1

api.baidu.com/v1/

后面接口需要升级,那么就将接口升级为v2

api.baidu.com/v2/

 

4.接口操作的数据源称之为资源,在url中一般采用资源复数形式,一个接口可以概括对该资源的多种操作方式

获取全部书籍

api.baidu.com/books

获取指定的书籍

api.baidu.com/books/(pk)

 

5.请求方式有很多种,用一个url处理如何保证不混乱 – 通过请求方式标识操作资源的方式

获取所有书籍,使用get请求

/books/

增加一本书籍,使用post请求

/books/

删除一本书籍,使用delete请求

/books/(pk)

整体更新一本书籍的内容,使用put请求

/books/(pk)

局部更新一本书籍的一个字段,使用patch请求

/books/(pk)

 

6.资源往往涉及数据的各种操作方式 – 筛选、排序、限制

api.baidu.com/books/?search=jkc&ordering=price&limit=3

 

响应数据

响应数据遵循以下4个规范
 

1.http请求的响应会有响应状态码,接口用来返回操作的资源数据,可以拥有操作数据结果的状态码

status    0(操作资源成功)    1(操作资源失败)    2(操作资源成功,但没匹配结果)

注:资源状态码不像http状态码,一般是后台与前台或者是客户约定的
 

2. 资源的状态码文字提示

status    ok    '账号有误'    '密码有误'    '用户锁定'

 

3. 资源本身

data: {
    业务数据
}

 

4. 不能直接返回的资源(子资源、图片、视频等资源),返回该资源的url链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164898.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux修改用户名密码的命令_centos修改用户密码命令

    linux修改用户名密码的命令_centos修改用户密码命令修改Linux用户名密码的指令,在更改成需要修改密码的用户名sudopasswd<用户名>随后输入两次新密码即可欢迎小伙伴讨论,文章内容如有错误请在评论区评论或发私聊消息,谢谢你。

    2022年9月2日
  • tar打包绝对路径文件[通俗易懂]

    tar打包绝对路径文件[通俗易懂]当使用tar打包绝对路径文件时会警告:tar:Removingleading`/’frommembernames[user_00@CoalaaHK1~]$tar-zcvftest2.tar.gz/home/user_00/wade/testtar:Removingleading`/’frommembernames/home/user_00/wade/test/…

    2022年5月31日
  • 细节、MYSQL_DATE_FORMAT()_函数_详解(记得收藏)

    细节、MYSQL_DATE_FORMAT()_函数_详解(记得收藏)实用请点赞和关注,后期有更多内容分享,携手同行!mysql中DATE_FORMAT(date,format)函数可根据format字符串格式化日期或日期和时间值date,返回结果串。也可用DATE_FORMAT()来格式化DATE或DATETIME值,以便得到所希望的格式。根据format字符串格式化date值:下面是函数的参数说明:%S,%s两位数字形式的…

    2022年7月27日
  • try catch 对性能影响

    try catch 对性能影响引言之前一直没有去研究trycatch的内部机制,只是一直停留在了感觉上,正好这周五开会交流学习的时候,有人提出了相关的问题。借着周末,正好研究一番。讨论的问题当时讨论的是这样的问题:比较下面两种trycatch写法,哪一种性能更好。for(inti=0;i<1000000;i++){try{Ma

    2022年6月16日
  • mybatis集和类型传参

    mybatis集和类型传参

    2021年9月2日
  • 软件开发-快递来了-开发第一天「建议收藏」

    软件开发-快递来了-开发第一天「建议收藏」今天是“快递来了”软件开发的第一天,大家大体上分配了今明两天的计划,这几天主要以安装配置安卓开发环境,学习安卓特性组件为主。今天,安装调试了AndroidStudio,深刻体会到了集成开发环境的优

    2022年7月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号