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接口规范的更多相关文章

  1. DRF框架(一)——restful接口规范、基于规范下使用原生django接口查询和增加、原生Django CBV请求生命周期源码分析、drf请求生命周期源码分析、请求模块request、渲染模块render

    DRF框架    全称:django-rest framework 知识点 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码 - 基于restful规范下的CBV接口 3.请求组件 ...

  2. restful接口规范 | 基于restful的原生django接口

    restful接口规范 接口 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: - url:长得像返回数据的url链接 - 请求参数:前台按照指定 ...

  3. drf框架,restful接口规范,源码分析

    复习 """ 1.vue如果控制html 在html中设置挂载点.导入vue.js环境.创建Vue对象与挂载点绑定 2.vue是渐进式js框架 3.vue指令 {{ }} ...

  4. RESTful 接口规范

    原文地址:http://www.coderli.com/translate-restful-standard-resolved OneCoder最近一直在使用Restful API,最近正好看到一篇自 ...

  5. Django编写RESTful API(一):序列化

    欢迎访问我的个人网站:www.comingnext.cn 关于RESTful API 现在,在开发的过程中,我们经常会听到前后端分离这个技术名词,顾名思义,就是前台的开发和后台的开发分离开.这个技术方 ...

  6. Django编写RESTful API(四):认证和权限

    欢迎访问我的个人网站:www.comingnext.cn 前言: 按照前面几篇文章里那样做,使用Django编写RESTful API的基本功能已经像模像样了.我们可以通过不同的URL访问到不同的资源 ...

  7. python 全栈开发,Day95(RESTful API介绍,基于Django实现RESTful API,DRF 序列化)

    昨日内容回顾 1. rest framework serializer(序列化)的简单使用 QuerySet([ obj, obj, obj]) --> JSON格式数据 0. 安装和导入: p ...

  8. Django之Restful API

    理解Restful架构:http://www.ruanyifeng.com/blog/2011/09/restful RESTful设计指南:http://www.ruanyifeng.com/blo ...

  9. RESTful规范与django编写restful接口

    一.什么是RESTful规范 ①REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” ②REST从资 ...

随机推荐

  1. JDBC_10_使用Statement实现升序和降序

    使用Statement数据库操作对象实现升序和降序 Statement可以使用在需要SQL语句拼接的情况下,因为在这样的情况下如果使用PreparedStatement就会给需要拼接的某个SQL关键字 ...

  2. JDBC_01_JDBC基础概念

    JDBC 基础概念 JDBC 的本质 JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Ja ...

  3. struct 模块

    1. Struct 简介 2. Struct 代码示例 2.1 struct.pack 2.2 struct.unpack 2.3 struct.calcsize 1. Struct 简介 当 pyt ...

  4. Tomcat配置及网站创建教程(IDEA)

    Tomcat在本机的配置 解压 解压Tomcat压缩包后就算安装完成,解压完成生成文件夹 配置环境变量 1.配置JAVA_HOME 控制面板--系统--查看高级系统设置--环境变量--系统环境变量 新 ...

  5. git pull 默认拉取远端其他分支 问题解决

    今天工作中遇见了一个问题:执行git pull 命令时,默认合并了远端的某个分支,经过查阅资料发现是git的配置问题. 如图所示: git 查看远端主机详细配置信息 git remote show o ...

  6. POJ 2396 构造矩阵(上下流)

    题意:       要求构造一个矩阵,给你行和,列和,还有一些点的上下范围,输出一个满足题意的矩阵. 思路:       这个题目很经典,这是自己看上下流后接触的第一道题,感觉很基础的一道题目,现在我 ...

  7. C++ scanf_s()函数的用法以及注意事项

    前身--scanf() 有的教材里用的scanf(),其实在目前Visual Studio版本中已经弃用了,用scanf_s()函数代替了. 为什么现在要用scanf_s() scanf_s()函数是 ...

  8. UA: Literally Vulnerable靶机

    前言 略有点虎头蛇尾.主要有一步没想通. web打点 nmap -sP 192.168.218.0/24 #发现主机IP 192.168.218.138 #端口扫描 nmap -sV -p- 192. ...

  9. MindSpore模型验证

    技术背景 在前面一篇博客中,我们介绍了MindSpore在机器学习过程中保存和加载模型的方法.这种将模型存储为静态文件的做法,使得我们可以更灵活的使用训练出来的模型,比如用于各种数据集的验证,或者是迁 ...

  10. 7.CentOS文件和目录 以及系统与设置命令

    CentOS文件和目录 etc------系统中的配置文件 bin------系统预设执行文件的放置目录 sbin------系统预设执行文件的放置目录 usr------系统预设执行文件的放置目录 ...