本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 ?...一、URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。...1.5 避免多级 URL 常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。 ? 这种 URL 不利于扩展,语义也不明确,往往要想一会,才能明白含义。...每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。 API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。...403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。 404 Not Found:所请求的资源不存在,或不可用。
状态转移(State Transfer) 即URL定位资源,用 HTTP 动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词。...二、实例介绍 REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义: 获取所有 users GET /api/users 获取指定 id 的 users GET...1.4 避免多级 URL 避免在多层级资源时,使用多级 URL。...准确的状态码表示 HTTP 五大类状态码有100多种,每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。...》 《Node.js RESTful API》 《RESTful API 最佳实践》
3.状态转移(State Transfer) 即URL定位资源,用 HTTP 动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词。...在软件技术演进中的长期的兼容性更好 二、实例介绍 REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义: 1.获取所有 users GET /api/users...比如,/users 是正确的,因为 URL 是名词,而下面就都是错误的了: /getUsers /createUsers /deleteUsers 1.3 建议复数 URL 因为 URL 是名词,没有单复数的限制...1.4 避免多级 URL 避免在多层级资源时,使用多级 URL。...准确的状态码表示 HTTP 五大类状态码有100多种,每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。
本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 ?...一、URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。...1.5 避免多级 URL 常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。...每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。 API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。...403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。 404 Not Found:所请求的资源不存在,或不可用。
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。...本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。...一、URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。...1.5 避免多级 URL 常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。...每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。 API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。
来源:http://t.cn/EhVCDAW 一、URL 设计 二、状态码 三、服务器回应 四、参考链接 ---- RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。...本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 ?...img 一、URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。...1.5 避免多级 URL 常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。...每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。 API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。
本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。...---- 一、URL设计 动词+宾语 RESTful的核心思想就是,客户端发出的数据+操作指令都是“动词+宾语”的结构,比如GET /articles这个命令,GET是动词,/articles是宾语,动词通常就有...避免多级 URL 常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。...每一种状态码都有标准的(或者约定的)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确的状态码。 API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。...403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。 404 Not Found:所请求的资源不存在,或不可用。
RESTful是目前比较流行的接口路径设计规范,基于HTTP,一般使用JSON方式定义,通过不同HttpMethod来定义对应接口的资源动作,如:新增(POST)、删除(DELETE)、更新(PUT、PATCH...路径设计 在RESTful设计规范内,每一个接口被认为是一个资源请求,下面我们针对每一种资源类型来看下API路径设计。...路径设计的注意事项如下所示: 资源名使用复数 资源名使用名词 路径内不带特殊字符 避免多级URL 新增资源 请求方式 示例路径 POST https://api.yuqiyu.com/v1/users...接口路径方式 我们在部署接口时约定不同版本的请求使用HTTP代理转发到对应版本的接口网关,常用的请求转发代理比如使用:Nginx等。...code 业务逻辑异常码,比如:USER_NOT_FOUND(用户不存在)这是接口的约定 errorMsg 对应code值得描述。
RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。...重点:RESTful是一种URL的设计风格。 解读:RESTful并没有严格的语法约定,不存在“必须满足什么条件才算是RESTful”,也并不是“不满足什么条件就一定不是RESTful”。...在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。...取决于开发人员对URL的理解,RESTful本身并没有作为相关约定!...如果没有明确的约定,可以采取以下风格: /resources/id/command 或 /resouces/id/property/command 以上设计风格中: resources:资源,也就是需要访问的是哪种数据
可以看到 HTTP 的动词其实就能指代你要对资源做的操作,所以不需要在 URL 上做一些东西,就把 URL 表明的东西看作一个资源即可。...协议其实就是约定好的一个东西,协议就规定 GET 是获取资源,那你非得在 URL 上再重复一遍或者所有请求不论增删改都用 GET 这个动作,这其实就是没有完全遵循这个协议。...可以说只是把 HTTP 当成一个传输管道,而不是约定好的协议。 这其实是对 HTTP 更深一层的认识,我认为也是 RESTful 被推出的原因。...也就是 RESTful 表明的面向资源,通过 HTTP 动作 + URL 上的资源。...简而言之,RESTful 就是不要在 URL 上表现出动作,用 HTTP 动词代表动作,URL 上只做资源。 仅此而已。
在这样的结构下,REST 是一个很流行的前后端交互形式的约定。...这只是一套约定,并不是某个技术标准,所以在实际的应用中,对器实现程度完全取决于后端开发者;一些号称 RESTful 的接口并没有那么RESTful。...REST 是一套风格约定,RESTful 是它的形容词形式;比如一套实现了 REST 风格的接口,可以称之为 RESTful 接口。...更长了;其次对一个资源实体进行不同的操作就是一个不同的 URL,造成 URL 过多难以管理。...其实当你回过头看「URL」 这个术语的定义时,更能理解这一点。URL 的意思是统一资源定位符,这个术语已经清晰的表明,一个 URL 应该用来定位资源,而不应该掺入对操作行为的描述。
首先,这两个URL都不是RESTful API,因为这两个URL中都有delete的动作指示,RESTful API是面向资源的架构,因此其URL就应该是一个资源,而且不应该包含任何动作,对于资源的具体操作类型应该由.../12,我们可以通过浏览器访问该URL而获取信息,但是这并不代表着它就是RESTful API。...URL里含有queryString就不是RESTful Api,如http://ssm-demo.hanshuai.xin/articles/?...常见状态码(状态码可自行设计,只需开发者约定好规范即可): 200:SUCCESS,请求成功; 401:Unauthorized,无权限; 403:Forbidden,禁止访问; 410:Gone,无此资源...现在前后端分离日益成为web开发主流方式的大趋势下,后台逐渐趋向指提供API服务,为各客户端提供数据及相关操作,而网站的开发全部交给前端搞定,网站和API服务很少部署在同一台服务器上并使用相同的端口,js
一些重要的功能是 - · OData提供扩展功能,以满足您的RESTful API的任何自定义需求。...· OData可帮助您在构建RESTful API时专注于业务逻辑,而无需担心定义请求和响应头,状态代码,HTTP方法,URL约定,媒体类型,有效内容格式和查询选项等方法。...资源 在REST中,状态和功能都显示为资源。 资源是RESTful设计的关键元素,而不是RPC和SOAP Web服务中使用的“方法”或“服务”。...您将产品数据视为资源,此资源应包含所有必需的信息。 资源网 这意味着单个资源不应包含详细数据,并且包含指向其他网页的链接。...无连接状态 每个请求应包含有关与每个客户端的连接的详细信息,并且不应在先前与同一客户端的连接上回复。 可高速缓存 协议必须允许服务器明确指定哪些资源可以缓存,以及多长时间。
URI既可以看成是资源的地址,也可以看成是资源的名称。 RESTful架构 那么什么又是RESTful架构呢? 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。...RESTful API开发一般需要重点关注以下几点: URL 设计 动词 + 宾语:RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。...宾语必须是名词:宾语就是 API 的 URL,是 HTTP 动词作用的对象。它应该是名词,不能是动词。比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...复数 URL:尽量使用复数的URL。 动词的覆盖:有些客户端只能使用GET和POST这两种方法。服务器必须接受POST模拟其他方法(比如PUT、DELETE)。...避免多级 URL:一般常见操作都是对于一个集合进行,所以为了统一起见,建议都使用复数 URL。
它使用标准的HTTP方法(如GET,POST,PUT,DELETE)来对资源进行操作,并通过URL(统一资源定位符)来标识和定位资源。...要构建基于RESTful API的web应用程序,可以按照以下步骤进行: 设计资源:确定应用程序中的资源及其属性,例如用户、文章、评论等。...设计URL结构:为每个资源定义URL,使用合适的命名约定和层次结构,以表示资源之间的关系。例如,对于用户资源,可以使用/users作为根URL,/users/{userId}表示具体的用户。...可维护性:通过将应用程序的逻辑和数据分为不同的资源,RESTful API可以更容易地进行维护和修改。...可扩展性:RESTful API可以轻松地添加新的资源和功能,支持应用程序的快速演进。
RESTful是目前最流行的API设计规范,它的最大原则容易把握,但是细节不容易做对。所以本文对RESTful进行设计介绍,方便大家的理解与使用。...01 URL RESTful的核心思想就是,把客户端发出的数据+操作执行都都当作是“动词+宾语”的结构,比如GET/data命令,GET就是动词,/data就是宾语,动词通常就有5种HTTP请求方法,对应...所以为了统一起见,建议都是用复数URL,比如GET/articles/2 要比 GET/article/2好。 我们在设计URL时要注意避免多级URL。...常见的情况是,资源需要多级分类,因此很容易写出多级的URL,比如获取某个作者的某一类文章。...403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。 404 Not Found:所请求的资源不存在,或不可用。
RESTful API 最佳实践 RESTful 是目前最流行的 API 规范,适用于 Web 接口规范的设计。让接口易读,且含义清晰。...而宾语就是我们要操作的资源,可以理解成面向资源设计。我们所关注的数据就是资源。...GET: 读取资源 POST:新建资源 PUT:更新资源 PATCH:资源部分数据更新 DELETE:删除资源 正确的例子 GET /zoos:列出所有动物园 POST /zoos:新建一个动物园 GET...1.5 避免出现多级 URL 有时候我们要操作的资源可能是有多个层级,因此很容易写多级 URL,比如获取某个作者某种分类的文章。...推荐后者,避免出现多级URL。 2.1 状态码必须精确 客户端的请求,服务请求都必须响应,包含 HTTP 状态码和数据。 HTTP 状态码就是一个三位数,分成五个类别。
领取专属 10元无门槛券
手把手带您无忧上云