restful-ag凯发k8国际
首先,咱们得知道什么是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. 用户修改对某本图书的收藏puthttp://api.douban.com/v2/book/:id/collection
delete(delete):从服务器删除资源。
eg. 用户删除某篇笔记 delete http://api.douban.com/v2/book/annotation/:id
5.如果记录数量很多,服务器不可能都将它们返回给用户。api应该提供参数,过滤返回结果
?limit=10:指定返回记录的数量
eg. 获取图书信息 gethttp://api.douban.com/v2/book/:id?limit=10
6.服务器向用户返回的状态码和提示信息
每个状态码代表不同意思, 就像代号一样
2系 代表正常返回
4系 代表数据异常
5系 代表服务器异常
接口安全:
1.api的身份认证应该使用oauth 2.0框架。
2.技术团队自己约定的规则
增加两个参数 time, token
time为时间戳, 用于判断接口请求是否超时
token为时间戳加密后的字符串, 加密规则只有你们技术团队自己知道
总结
以上是ag凯发k8国际为你收集整理的restful-api接口的设计规范介绍的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 浅谈三个星期零基础入门学习thinkph
- 下一篇: thinkphp5/phpstudy分析