rest api设计的一般原则

本文参考自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html

服务器端:

1. JSON形式:

请求method 含义 api建议格式(url) v1-版本号,  成功返回值 失败码(典型) 备注
PUT
修改数据请求

(客户端提供改变后的完整资源)

/v1/collection/ID 完整的对象信息(JSON格式)
201(Updated)

403(Forbidden)

500(ServerError)

 
POST 创建数据请求 /v1/collection/ID 新创建的完整的对象信息(JSON格式)
201(Created)

403(Forbidden)

500(ServerError)

 
DELETE 删除数据请求 /v1/collection/ID 空文档
403(Forbidden)

500(ServerError)

 
GET 读取数据请求
/v1/collection/ID

or

/v1/collection/?limit=n?offset=10?page=2&per_page=100?sortby=name&order=asc?animal_type_id=1


单个资源对象

or

资源对象的列表(数组)


200(OK)

404(NotFound)

410(Gone)

 
PATCH 
修改数据请求

(客户端提供改变的属性)

/v1/collection/ID 完整的对象信息(JSON格式)

201(Updated)

403(Forbidden)

500(ServerError)

 
     以下比较少用到
HEAD 获取资源的元数据        
OPTIONS
获取信息,

客户端可修改属性集。

       
           

无论成功还是失败,最好附有一个link字段,用于标注相关的api,提示用户下一步可以做什么,如下:

{

"link": {
  "rel":   "collection https://www.example.com/zoos",//这个API与当前网址的关系
  "href":  "https://api.example.com/zoos",//api地址
  "title": "List of zoos",//api标题
  "type":  "application/vnd.yourformat+json"//api返回值类型
}

}

 

补充:

API与用户的通信协议,总是使用HTTPs协议

API的身份认证应该使用OAuth 2.0框架。

时间: 2024-08-25 19:06:01

rest api设计的一般原则的相关文章

优秀API设计的十大原则

优秀API设计的十大原则 2015-09-23    分类:编程开发.设计模式.首页精华暂无人评论 分享到:更多4 二十万年薪PHP工程师培养计划 成为被疯抢的Android牛人 风中叶讲Java重难点 Linux运维基础课程 本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎加入技术翻译小组! 每个软件开发人员都使用API.“优秀”的API设计就像魔法.不过,我不知道有多少人可以解释为什么有的API很复杂.很难学,而有的则干净.简单.使用起来堪称是一种快乐.关于这个问题,我将在文中

RESTful API设计原则与规范

一.背景与基础概念 2 二.RESTful API应遵循的原则 3 1.协议(Protocol) 3 2.域名(ROOT URL) 3 3.版本(Versioning) 3 4.路径(Endpoints) 3 5.HTTP动词(HTTP Verbs) 4 6.过滤信息(Filtering) 5 7.状态码(Status Codes) 5 8.错误处理(Error handling) 6 9.返回结果(Response) 6 10.使用HATEOAS的Hypermedia API 6 11.认证(

JavaScript API 设计原则

网+线下沙龙 | 移动APP模式创新:给你一个做APP的理由>> 好的 API 设计:在自描述的同时,达到抽象的目标. 设计良好的 API ,开发者可以快速上手,没必要经常抱着手册和文档,也没必要频繁光顾技术支持社区. 流畅的接口 方法链:流畅易读,更易理解 //常见的 API 调用方式:改变一些颜色,添加事件监听 var elem = document.getElementById("foobar"); elem.style.background = "red&

转载:阮一峰 Rest API设计原则

网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致 API 构架的流行,甚至出现"API First"的设计思想.RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论.我以前写过一篇<理解 RESTful 架构>,探讨如何理解这个概念. 今天,我将介绍 RESTful API 的设计细节,探讨如何设计一套

RESTful API 设计最佳实践(转)

摘要:目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息? 背景 目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完

RESTful API 设计最佳实践

1. 背景 REST(英文:Representational State Transfer,表述性状态转移)描述了一个架构样式的网络系统,比如 web 应用程序. 目前互联网上充斥着大量的关于RESTful API(为方便,下文中"RESTful API "简写为"API")如何设计的文章,然而却没有一个"万能"的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你

Atitit.index&#160;manager&#160;api&#160;design&#160;索引管理api设计

Atitit.index manager api design 索引管理api设计 1. kw1 1.1. 索引类型 unique,normal,fulltxt1 1.2. 聚集索引(clustered index,也称聚类索引1 1.3. 索引方式:btree,hashtable2 1.4. 索引使用所有的页面规模百分比2 2. Ui2 3. api2 3.1. createIndex(indexName,cols)2 3.2. Rebuild2 3.3. Del2 3.4. Up2 4. -

出色的 JavaScript API 设计秘诀

设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架. (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线.软件设计,特别是作为软件设计的次类的API设计,也是一样的.但是API设计常常很少关注软件发展,因为为其他程序员写代码的重要性要次于应用UI设计和最终用户体验. 但是API设计,作为我们自己写的库中提供的公共接口,能够向调用我们代码的开发者表现出我们库的一些特点和功能,所以API设计和UI设计一样重要.事实上,两者都是为应用可以提供更好的

理解restful 架构 &amp;&amp; RESTful API设计指南

restful是前端和后端接口中都会使用的设计思想. 网站即软件,我们也常说的webapp,这种互联网软件采用的是“客户端/服务器”模式,建立在分布式体系上. 网站开发,也可以完全采用软件开发的模式,但是传统上软件和网络还是不同的领域,因为: 软件开发主要针对单机环境,而网络是研究系统之间的通信. 互联网的兴起,使得这两个领域开始融合,现在我们开始考虑,如何开发在互联网环境中使用的软件. RESTful架构,就是目前最为流行的一种互联网软件架构,它结构清晰.符合标准.易于理解.扩展方便,所以正得