Django(43)restful接口规范
restful接口规范
什么是接口规范?接口规范就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据。如何写接口:接口规范是规范化书写接口的,写接口要写url、响应数据
注:如果将请求参数也纳入考量范围,那就是在写接口文档
url
restful接口的url规范,遵循以下6个规范
1.用关键字标识接口url
比如登录的接口,可以用下面的url,这样我们阅读的时候,一眼就能看出这个是登录接口
www.baidu.com/login/
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链接
Django(43)restful接口规范的更多相关文章
- DRF框架(一)——restful接口规范、基于规范下使用原生django接口查询和增加、原生Django CBV请求生命周期源码分析、drf请求生命周期源码分析、请求模块request、渲染模块render
DRF框架 全称:django-rest framework 知识点 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码 - 基于restful规范下的CBV接口 3.请求组件 ...
- restful接口规范 | 基于restful的原生django接口
restful接口规范 接口 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: - url:长得像返回数据的url链接 - 请求参数:前台按照指定 ...
- drf框架,restful接口规范,源码分析
复习 """ 1.vue如果控制html 在html中设置挂载点.导入vue.js环境.创建Vue对象与挂载点绑定 2.vue是渐进式js框架 3.vue指令 {{ }} ...
- RESTful 接口规范
原文地址:http://www.coderli.com/translate-restful-standard-resolved OneCoder最近一直在使用Restful API,最近正好看到一篇自 ...
- Django编写RESTful API(一):序列化
欢迎访问我的个人网站:www.comingnext.cn 关于RESTful API 现在,在开发的过程中,我们经常会听到前后端分离这个技术名词,顾名思义,就是前台的开发和后台的开发分离开.这个技术方 ...
- Django编写RESTful API(四):认证和权限
欢迎访问我的个人网站:www.comingnext.cn 前言: 按照前面几篇文章里那样做,使用Django编写RESTful API的基本功能已经像模像样了.我们可以通过不同的URL访问到不同的资源 ...
- python 全栈开发,Day95(RESTful API介绍,基于Django实现RESTful API,DRF 序列化)
昨日内容回顾 1. rest framework serializer(序列化)的简单使用 QuerySet([ obj, obj, obj]) --> JSON格式数据 0. 安装和导入: p ...
- Django之Restful API
理解Restful架构:http://www.ruanyifeng.com/blog/2011/09/restful RESTful设计指南:http://www.ruanyifeng.com/blo ...
- RESTful规范与django编写restful接口
一.什么是RESTful规范 ①REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” ②REST从资 ...
随机推荐
- JAVA JNI 中解决在C/C++跨线程FindClass失败
在JAVA与C/C++交互时使用JNI接口: 先是在JAVA调用的C++方法中直接测试FindClass,使用获取到的jclass操作没有任何问题: 但是在调用的C++方法中起线程后,在线程中Find ...
- Linux/Unix 常用的 15 类别名(alias)
背景 最近在整理 Linux 运维基线,整理记录下常用的 alias 设置. alias alias 命令用于设置指令的别名.用于简化较长的命令. 语法 alias [别名]=[指令名称] 示例:al ...
- 14- 小程序测试与airtest自动化测试
什么是小程序 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关 ...
- 【Oauth2.0】Oauth2.0
一.什么是Oauth2.0? 1.Oauth2.0即(Open Authorization ),Oauth2.0是一个用于第三方授权的开放标准,是Oauth1.0的升级版本,相比1.0版本易于使用: ...
- 手动脱Mole Box V2.6.5壳实战
作者:Fly2015 这个程序是吾爱破解脱壳练习第8期的加壳程序,该程序的壳是MoleBox V2.6.5壳,之前也碰过该种壳但是这个程序似乎要复杂一点. 首先对加壳程序进行侦壳处理. Exeinfo ...
- UVA11389巴士司机问题
题意: 有n个巴士司机,然后有2n个活,其中有n个是上午,n个是下午,每个自己都要选择一个上午的和一个下午的,每个活都有驾驶距离,如果一个司机每天的驾驶距离大于d,那么超出的部分就要每个单 ...
- Android系统自带的android.util.Base64的实现源码
由于Android逆向还原的时候,经常需要用到android.util.Base64的代码,因此从Android 4.4.4的 系统里抠出来进行备份,懒得用其他的代码进行修改替换了. /* * Cop ...
- 【Git】2. Git常用命令详解、版本切换原理
一.新增文件 1.设置用户签名 签名的作用就是为了区分不同的人,方便查看版本的时候知道操作的人是谁.首次安装好git之后必须设置一下签名,否则无法提交代码. 另外,这里设置的签名跟你登录到远程仓的账号 ...
- IntelliJ IDEA中项目的包和目录结构显示设置
在新建的目录下再创建一个新目录时,出现了目录没有分层显示,这样使用起来十分不方便. 解决方案:点击右上方的设置按钮,将"compact middle packages"取消勾选,实 ...
- Django(2)python虚拟环境virtualenvwrapper
python虚拟环境 虚拟环境(virtual environment),它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西 ...