restful-api接口的设计规范介绍
首先,咱们得知道什么是restful-api,它产生的背景是什么,作用是什么,这样以便于我们更好的去学习和掌握这门知识。
什么是restful-api:
EST,即Representational State Transfer的缩写。直接翻译的意思是"表现层状态转化"。
它是一种互联网应用程序的API设计理念 :URL定位资源,用HTTP动词(GET,POST,DELETE,DETC等)描述操作。
产生背景及作用:
近年来移动互联网的发展,前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…),前端与后端开发人员在进行开发时需要进行交互等测试,那问题来了,在这个交互和测试环节我们如何达成一致了,方便测试呢?所以为了方便开发人员测试,提高开发效率,因此,必须有一种统一的机制来规范,于是RESTful诞生了,而且restful-api设计规范被大多数程序员认可,它可以通过一套统一的接口为 Web,iOS和Android提供服务。
相信大家看完上面的内容应该对restful-api有了一定的了解和认识,那么接下来具体介绍一下restful-api的设计规范。
具体设计规范:
1.应该尽量将API部署在专用域名之下
http://api.douban.com
/v2/user/1000001?apikey=XXX
2.应该将API的版本号放入URL
http://api.douban.com/v2
/user/1000001?apikey=XXX
3.在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词
,而且所用的名词往往与数据库的表格名对应
。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
http://api.douban.com/v2/
book
/:id (获取图书信息)
http://api.douban.com/v2/movie
/subject/:id (电影条目信息)
http://api.douban.com/v2/music
/:id (获取音乐信息)
http://api.douban.com/v2/event
/:id (获取同城活动)
4.对于资源的具体操作类型,请求方式,由HTTP动词表示。常用的HTTP动词有下面四个(对应增/删/改/查
)。
GET(
select
):从服务器取出资源(一项或多项)。
eg. 获取图书信息GET
http://api.douban.com/v2/book/:id
POST(
create
):在服务器新建一个资源。
eg.用户收藏某本图书POST
http://api.douban.com/v2/book/:id/collection
PUT(
update
):在服务器更新资源(客户端提供改变后的完整资源)。
eg. 用户修改对某本图书的收藏PUT
http://api.douban.com/v2/book/:id/collection
DELETE(
delete
):从服务器删除资源。
eg. 用户删除某篇笔记DELETE
http://api.douban.com/v2/book/annotation/:id
5.如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果
?limit=10:
指定返回记录的数量
eg. 获取图书信息GET
http://api.douban.com/v2/book/:id?limit=10
6.服务器向用户返回的状态码和提示信息
每个状态码代表不同意思, 就像代号一样
2系
代表正常返回
4系
代表数据异常
5系
代表服务器异常
接口安全:
1.API的身份认证应该使用OAuth 2.0框架。
2.技术团队自己约定的规则
增加两个参数
time, token
time
为时间戳, 用于判断接口请求是否超时
token
为时间戳加密后的字符串, 加密规则只有你们技术团队自己知道
restful-api接口的设计规范介绍相关推荐
- RESTful API接口设计规范
目录 一.RESTful的诞生背景 二.什么是RESTful? 三.Restful API接口设计规范 3.1.协议 3.2.路径规则|域名 3.3.版本控制 3.4.请求类型 3.5.传入参数 3. ...
- 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接 ...
- swagger php 生成api,blog/Swagger生成php restful API接口文档.md at master · lfq618/blog · GitHub...
Swagger生成php restful API接口文档 背景 我们的restful api项目采用yaf框架, 整体结构简单, 我们只需要用swagger扫描 application目录即可. 下面 ...
- 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接 ...
- 整合swagger2生成Restful Api接口文档
整合swagger2生成Restful Api接口文档 swagger Restful文档生成工具 2017-9-30 官方地址:https://swagger.io/docs/specificati ...
- SpringMVC Restful api接口实现
[前言] 面向资源的 Restful 风格的 api 接口本着简洁,资源,便于扩展,便于理解等等各项优势,在如今的系统服务中越来越受欢迎. .net平台有WebAPi项目是专门用来实现Restful ...
- RESTful API接口基本内容
RESTful API接口基本内容 目录 RESTful API接口基本内容 一.RESTful是什么? 1.1.基本特点 1.2.设计概念和准则 1.3.http协议 二.RESTful与SOAP ...
- Restful API是什么?初探Restful API,传统接口写法与Restful API接口写法区别
Restful API是什么?初探Restful API?为什么要用Restful API?传统接口写法与Restful API接口写法区别,带着这些问题我们来具体了解下Restful API: 目录 ...
- Android开发规范:API接口安全设计规范
公众号[国民程序员]回馈粉丝福利: 现金红包和送书活动火热进行中,点击参与! 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买. 书籍详情请 ...
- Swagger 生成 PHP restful API 接口文档
需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史. 我的故事却又不同,因为首先来说,我在公司是 Android 组负责人,属于上述血泪 ...
最新文章
- Array Networks ***官网 客户端下载地址
- 遗传算法对于神经网络的优生优育
- 【干货】如果你的推广周期是一年,怎样激活100万目标用户
- Session.run() Tensor.eval()
- maven-assembly-plugin插件打包 jar、tar.gz
- springboot单例模式注入对象_Spring 中经典的 9 种设计模式,打死也要记住啊!
- 无连接可靠传输_这些RF连接器设计原则你应该多了解一下
- nginx 限制某些类型的客户端的访问
- github上预览Demo网页最简单的方法
- 可以批量把Word文件转成JPG的软件工具
- Unity 一种更为简洁明了的环绕相机方案
- java程序执行时间_java记录代码运行时间
- 使用racoon setkey搭建IPsec环境
- 【自然语言处理】【可解释性】Perturbed Masking:分析和解释BERT的无参数探针
- 区块链对广告行业发展的影响
- 暗黑破坏神资源 - 紫冰整理
- 书论51 朱文长《续书断》
- 华为 H3C 配置 Portal认证 mac-trigger快速认证 Mac无感知认证 Radius认证计费 对接 外部Portal认证计费系统 案例
- 如何分享CSDN的博客
- 生信入门:序列比对之blast在线和本地使用