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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 背句子,记单词1「建议收藏」

    背句子,记单词1「建议收藏」7000词汇这么背我比较可以接受,连续看20天足以过八级!!(16天完整版)16天记住7000考研词汇(第一天)1.WithmyownearsIclearlyheardtheheartbeatofthenuclearbomb.我亲耳清楚地听到原子弹的心脏的跳动。2.Nextyearthebeardedbearwillbear…

    2022年8月24日
    5
  • SQL怎么实现模糊查询[通俗易懂]

    SQL怎么实现模糊查询[通俗易懂]模糊查询的语句一般如下:SELECT字段FROM表WHERE某字段LIKE条件;关于条件部分,有以下匹配模式:1.%:表示零个或多个字符。可以匹配任意类型和任意长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。select*fromuserwhereusernamelike’%张%’;将会把user这张表里面,列名username中含有张的记录全部查询出来。如果需要找到user这张表里面,字段username中既有张,又有李的记录,可以使用and

    2022年5月7日
    124
  • Vue的生命周期函数详解[通俗易懂]

    Vue的生命周期函数详解[通俗易懂]Vue有一个完整的生命周期,也就是从开始创建,初始化创建,编译模板,挂载Dom,渲染–>更新–>渲染,销毁等一系列过程,我们称之为Vue的生命周期。通俗的说就是Vue实例从创建到销毁的过程,就是生命周期。每一个组件或者实例都会经历一个完整的生命周期,总共分为三个阶段:初始化,运行中,销毁。beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyed1.实例、组件通过newVu

    2022年10月9日
    2
  • npm 模块 移除_【已解决】npm卸载模块后该模块并没有从package.json中去掉[通俗易懂]

    折腾:期间,遇到一个奇怪的现象:用npmremovexxx或npmuninstallxxx后xxx并没有从package.json中去掉:➜HeadquarterReportgit:(permission-control)✗npmremoveelement-ui–async-validator@1.6.9node_modules/async-validator–babe…

    2022年4月10日
    70
  • 启动打印服务bat_关闭文件与打印机服务 bat

    启动打印服务bat_关闭文件与打印机服务 bat重启打印机服务bat命令@echooffecho停止打印服务netstopSpoolerecho重新启动打印服务netstartSpoolerecho完成!!!!pause

    2022年9月24日
    5
  • 微软edge浏览器无法访问此页面_0x80070035无法访问

    微软edge浏览器无法访问此页面_0x80070035无法访问转载于:https://www.cnblogs.com/real9527/p/6705752.html

    2022年9月15日
    3

发表回复

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

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