首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这次我让你彻底弄懂 RESTful

其实网上 RESTful 文章有挺多,不过有些讲糊里糊涂,而且很大部分都忽略 HATEOAS。 之前面试中面试官就问过我,你怎么理解 RESTful ,英文全称是啥?...REST 核心 核心就是资源,用 URL 定位资源,用 HTTP 动词来描述所要做操作。 HTTP提供很多动词:GET、PUT、POST、DELETE...... 这些动词都是有含义。...可以看到 HTTP 动词其实就能指代你要对资源做操作,所以不需要在 URL 做一些东西,就把 URL 表明东西看作一个资源即可。...(对协议不理解看我之前 HTTP 分析) 所以协议约定很多东西,推荐我们按照协议用法进行客户端和服务端交互。...简而言之,RESTful 就是不要在 URL 上表现出动作,用 HTTP 动词代表动作,URL 只做资源。 仅此而已。

52830
您找到你想要的搜索结果了吗?
是的
没有找到

前后端分离开发,RESTful 接口如何设计

此外,本文还提供额外资源,对每个主题进行了更深入探讨。 1. 简介 REST 架构风格不是一种可以购买技术,也不是一个可以添加到软件开发项目中开发库。...由于 Web 对消费者偏好有多重影响,REST 风格倡导者鼓励企业组织在其边界内使用相同原则,就像他们面向外部客户网页那样。本文将讨论现代 REST Web 实现中基本约束和属性。...4.4 DELETE 公共网络 DELETE 动词没有被广泛使用(谢天谢地!)。然而,对于控制信息空间非常有用,它是资源生命周期中非常有用一部分。 DELETE 请求意在实现等幂。...响应码 HTTP 响应码为我们客户端和服务器之间对话提供丰富请求状态信息。大多数人只熟悉一般意义200、403、404或者500,但是还有更多有用代码可供使用。...网址:http://www.ietf.org/rfc/rfc1738.txt 5.1.2.3 IRI 国际化资源标识符(IRI)概念是一个用 Unicode 编码 URI,用于 Web 使用标识符中支持世界各种语言字符

2.5K01

你真的知道你喜欢REST而不是RPC原因吗?

有关REST和RPC讨论或争论一直活跃各个技术角落,最近也关注不少,看了很多人看法之后,我意识到这个问题可以帮助我照亮自己知识死角:为什么我喜欢REST请求风格(资源导向)比RPC(操作导向...上面这个表格中只是展示RPC和REST API中常用几个HTTP动词 RPC: 一个基于操作请求风格 RPC首字母缩略词有很多含义,远程过程调用(Remote Procedure Call)也有很多形式...就我目前所知,对于这种风格基本没什么明确约定和规则。 端点(或叫资源)包含要调用操作名称。 这种风格API基本只使用两个http动词,那就是你熟悉GET和POST。...为了聚焦本文主题,我们长话短说:使用REST API,你是将数据作为资源(resource),你通过HTTP协议使用正确HTTP动词操作,注意,是正确动词: 端点包含你要操作资源。...使用REST,语义依赖主要依赖于HTTP动词动词语义是全局共享,约定好

1.2K60

RESTful 架构基础

此外,本文还提供额外资源,对每个主题进行了更深入探讨。 1. 简介 REST 架构风格不是一种可以购买技术,也不是一个可以添加到软件开发项目中开发库。...由于 Web 对消费者偏好有多重影响,REST 风格倡导者鼓励企业组织在其边界内使用相同原则,就像他们面向外部客户网页那样。本文将讨论现代 REST Web 实现中基本约束和属性。...4.4 DELETE 公共网络 DELETE 动词没有被广泛使用(谢天谢地!)。然而,对于控制信息空间非常有用,它是资源生命周期中非常有用一部分。 DELETE 请求意在实现等幂。...响应码 HTTP 响应码为我们客户端和服务器之间对话提供丰富请求状态信息。大多数人只熟悉一般意义200、403、404或者500,但是还有更多有用代码可供使用。...网址:http://www.ietf.org/rfc/rfc1738.txt 5.1.2.3 IRI 国际化资源标识符(IRI)概念是一个用 Unicode 编码 URI,用于 Web 使用标识符中支持世界各种语言字符

76720

RestFul架构基础

此外,本文还提供额外资源,对每个主题进行了更深入探讨。 关键词:Rest 架构 1. 简介 REST 架构风格不是一种可以购买技术,也不是一个可以添加到软件开发项目中开发库。...由于 Web 对消费者偏好有多重影响,REST 风格倡导者鼓励企业组织在其边界内使用相同原则,就像他们面向外部客户网页那样。本文将讨论现代 REST Web 实现中基本约束和属性。...4.4 DELETE 公共网络 DELETE 动词没有被广泛使用(谢天谢地!)。然而,对于控制信息空间非常有用,它是资源生命周期中非常有用一部分。 DELETE 请求意在实现等幂。...响应码 HTTP 响应码为我们客户端和服务器之间对话提供丰富请求状态信息。大多数人只熟悉一般意义200、403、404或者500,但是还有更多有用代码可供使用。...网址:http://www.ietf.org/rfc/rfc1738.txt 5.1.2.3 IRI 国际化资源标识符(IRI)概念是一个用 Unicode 编码 URI,用于 Web 使用标识符中支持世界各种语言字符

61410

RESTful 架构基础

通过 REST 可以实现系统高性能、可伸缩、通用性、简单性、可修改性和可扩展等特性。这篇文章解释主要 HTTP 操作,对 HTTP 响应码进行描述,并列举相关开发库和框架。...此外,本文还提供额外资源,对每个主题进行了更深入探讨。 1. 简介 REST 架构风格不是一种可以购买技术,也不是一个可以添加到软件开发项目中开发库。...由于 Web 对消费者偏好有多重影响,REST 风格倡导者鼓励企业组织在其边界内使用相同原则,就像他们面向外部客户网页那样。本文将讨论现代 REST Web 实现中基本约束和属性。...4.4 DELETE 公共网络 DELETE 动词没有被广泛使用(谢天谢地!)。然而,对于控制信息空间非常有用,它是资源生命周期中非常有用一部分。 DELETE 请求意在实现等幂。...响应码 HTTP 响应码为我们客户端和服务器之间对话提供丰富请求状态信息。大多数人只熟悉一般意义200、403、404或者500,但是还有更多有用代码可供使用。

92430

RESTful 架构以及 RESTful API开发

周三测试运维试听课程中,芒果给大家介绍RESTful架构以及RESTful API开发-Django REST Framework,这里我们来做个小总结。 什么是REST 什么是REST?...State Transfer 状态转移:访问一个网站,就代表客户端和服务器一个互动过程。在这个过程中,势必涉及到数据和状态变化。互联网通信协议HTTP协议,是一个无状态协议。...这里另外再补充一个概念: 要让网络一个实体成为资源,要求这个资源可以被识别,需要有个唯一标识,Web中这个唯一标识就是URI(Uniform Resource Identifier)。...URI既可以看成是资源地址,也可以看成是资源名称。 RESTful架构 那么什么又是RESTful架构呢? 如果一个架构符合REST约束条件和原则,我们就称它为RESTful架构。...动词通常就是刚刚提到HTTP 方法,对应 CRUD 操作。 宾语必须是名词:宾语就是 API URL,是 HTTP 动词作用对象。它应该是名词,不能是动词

84840

RESTful API 设计最佳实践

这些格式可以定义 HTTP header 里面: Content-Type:定义请求格式 Accept:定义接收相应格式列表 使用 HATEOAS 约束 HATEOAS(Hypermedia as...the engine of application state)是 REST 架构风格中最复杂约束,也是构建成熟 REST 服务核心。...介绍 HATEOAS 之前,先介绍一下 Richardson 提出 REST 成熟度模型。...该模型把 REST 服务按照成熟度划分成 4 个层次: 第一个层次(Level 0) Web 服务只是使用 HTTP 作为传输方式,实际只是远程方法调用(RPC)一种具体形式。...正确用法如下: /blog/api/v1 充分使用 HTTP 状态码来处理错误 HTTP状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态3位数字代码。

64230

理解RESTful架构

我对这个词组翻译是"表现层状态转化"。 如果一个架构符合REST原则,就称它为RESTful架构。...如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略主语。"...而这种转化是建立表现层之上,所以就是"表现层状态转化"。 客户端用到手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式动词:GET、POST、PUT、DELETE。...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词动词应该放在HTTP协议中。...版本号可以HTTP请求头信息Accept字段中进行区分(参见Versioning REST Services):   Accept: vnd.example-com.foo+json; version

517100

理解RESTful架构

我对这个词组翻译是"表现层状态转化"。 如果一个架构符合REST原则,就称它为RESTful架构。...如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略主语。"...而这种转化是建立表现层之上,所以就是"表现层状态转化"。 客户端用到手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式动词:GET、POST、PUT、DELETE。...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词动词应该放在HTTP协议中。...版本号可以HTTP请求头信息Accept字段中进行区分(参见Versioning REST Services):   Accept: vnd.example-com.foo+json; version

76450

REST API 设计最佳实践:如何构建、设计和使用 API ?

但是,我主要接触REST,这是一种基于资源API和Web服务开发架构风格。职业生涯中有很大一部分时间都参与构建、设计和使用API 项目。...但是,我也曾遇到过一些让 REST 蒙羞 API 例子,错误使用 HTTP 状态码、纯文本响应、不一致模式、插入端点中动词......因此我决定写篇文章分享一下,设计 REST API 时最佳实践。以下是关于设计优秀REST API 一些建议、提示和指导,帮助您让消费者(以及开发人员)满意。 1....Mozilla Developer Network文档上关于HTTP概述是一个相当全面的参考资料,尽管如此,REST API设计方面,以下是将HTTP应用于RESTful设计简要说明: HTTP具有动词...不要在 URI 中使用动词 到目前为止,如果您已经理解了基本概念,那么您会开始意识到URI中放置动词是不符合RESTful,这是因为HTTP动词应该足以准确描述正在对资源执行操作。

35840

透析SOA、RPC、SOAP、REST、ICE、ESB模型发展史

定义定位资源规则以后,对于资源操作通过标准Http协议就可以实现,开发者也会受益于这种轻量级协议。...REST三角架构(摘自 Restful User Experience ) REST 是以 资源 为中心, 名词即资源地址, 动词即施加于名词一些有限操作, 表达是对各种资源形态抽象....REST 简化了客户端和服务器实现。 RPC 样式架构中,关注点在于方法,而在 REST 样式架构中,关注点在于资源 —— 将使用标准方法检索并操作信息片段(使用表示形式)。...而且也仅支持HTTP协议,规定使用HTTP Method表达本次要做动作,类型一般也不超过那四五种。这些动作表达对资源仅有的几种转化方式。...成熟度上:SOAP成熟度上优于REST 效率和易用性REST更胜一筹 安全性:SOAP安全性高于REST,因为REST更关注是效率和性能问题 总体,因为REST模式Web服务与复杂SOAP

1.8K30

Restful接口开发与测试—Rest简介

Rest概述 简介 REST是英文Representational State Transfer(表现层状态转化),Rest是web服务一种架构风格; 使用HTTP,URI、XML、JSON、HTML...Rest原则 网络所有事物都可以被抽象为资源(resource)。 每一个资源都有唯一资源标识(resource identifier),对资源操作不会改变这些标识 所有的操作都是无状态。...设计思想 REST简化开发,其架构遵循CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建,获取,更新和删除就可以完成相关操作和处理。...因此设计web接口时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取”或者“删除”或者“更新”这样操作呢——用请求类型(GET,PUT,POST,DELETE)来区分...后端处理数据并以JSON格式传输出去,定义这样一套统一接口,web,ios,android三端都可以用相同接口。

76730

深入理解什么是RESTful API ?

如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略主语。"...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词动词应该放在HTTP协议中。   ...版本号可以HTTP请求头信息Accept字段中进行区分(参见Versioning REST Services): Accept: vnd.example-com.foo+json; version...RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...常用HTTP动词有下面五个(括号里是对应SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):服务器新建一个资源。

3.1K20

深入理解什么是RESTful API ?

如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略主语。"...而这种转化是建立表现层之上,所以就是"表现层状态转化"。 客户端用到手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式动词:GET、POST、PUT、DELETE。...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词动词应该放在HTTP协议中。   ...RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...常用HTTP动词有下面五个(括号里是对应SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):服务器新建一个资源。

57520
领券