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

RESTful 架构详解

下面列出了GET,DELETE,PUT和POST典型用法: GET 安全且幂等 获取表示 变更获取表示(缓存) 200(OK) - 表示已在响应中发出 204(无内容) - 资源有空表示 301(Moved...对于客户端来说,在为一个REST服务实现程序客户端,也应该充分利用现有的缓存机制,以免每次都重新获取表示。 响应代码处理有必要吗?...如果这些所谓RESTful应用必须通过响应实体才能给出错误信息,那么SOAP就是这样了,它就能够满足了。 2. 3 资源表述 上面提到,客户端通过HTTP方法可以获取资源,是吧?...如何处理不支持表述格式 当服务不支持所请求表述格式,那么应该怎么办?若服务不支持,它应该返回一个HTTP 406响应,表示拒绝处理该请求。...2. 5.2 应用状态转移 状态转移到这里已经很好理解了, "会话"状态不是作为资源状态保存在服务,而是被客户端作为应用状态进行跟踪。客户端应用状态服务端提供媒体指引下发生变迁。

95620

RESTful架构详解

下面列出了GET,DELETE,PUT和POST典型用法: GET 安全且幂等 获取表示 变更获取表示(缓存) 200(OK) - 表示已在响应中发出 204(无内容) - 资源有空表示 301(Moved...对于客户端来说,在为一个REST服务实现程序客户端,也应该充分利用现有的缓存机制,以免每次都重新获取表示。 响应代码处理有必要吗?...如果这些所谓RESTful应用必须通过响应实体才能给出错误信息,那么SOAP就是这样了,它就能够满足了。 2. 3 资源表述 上 面提到,客户端通过HTTP方法可以获取资源,是吧?...如何处理不支持表述格式 当服务不支持所请求表述格式,那么应该怎么办?若服务不支持,它应该返回一个HTTP 406响应,表示拒绝处理该请求。...2. 5.2 应用状态转移 状 态转移到这里已经很好理解了, “会话”状态不是作为资源状态保存在服务,而是被客户端作为应用状态进行跟踪。客户端应用状态服务端提供媒体指引下发生变迁。

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

Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)

获取组织元数据 –运行实用程序以执行管理任务 •同步API发出API调用后,远程客户端应用程序将等待,直到收到来自服务响应。...与SOAP不同,restapi不需要预定义契约,使用XML和JSON进行响应,并且具有松散类型。restapi是轻量级,它提供了一种与Salesforce交互简单方法。...使用restapi复合资源一个API调用中进行一系列更新。 •REST复合资源使用这些REST API资源单个API调用中执行多个操作。也可以使用一个调用输出作为下一个调用输入。...发生错误或超时情况下,远程系统必须管理多个(重复)调用,以避免重复插入和冗余更新(尤其是触发下游触发器和工作流规则)。...虽然可以Salesforce中管理其中一些情况(特别是定制SOAPREST服务情况下),但我们建议远程系统(或中间件)管理错误处理和幂等设计。

2.7K20

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

返回内容可能是 XML、JSON 格式,或者更确切地说是像 Atom 或自定义 MIME 类型等超媒体格式。虽然一般建议尽可能重用现有的格式,但是对正确设计媒体类型正在变得越来越宽容。...客户端需要发出 GET 请求获取指定资源。客户端可以本地缓存请求结果,服务器可以远程缓存结果,系统中间层可以在请求链路中间缓存结果。这是一个与具体应用程序无关特性,可以加入系统设计中。...许多人不恰当地称之为 “REST”。可以将这种分类看作系统中不同 Web 技术组件紧密程度度量标准:包括信息资源、HTTP 作为应用层协议和作超媒体作为控制媒介。 ?...接下来,当一切就绪,使用基于超媒体 MIME 类型,这样就可以充分享受 REST 好处了。 4. 动词 动词是用来与服务器资源交互方法或操作。...表4 服务器处理请求错误 服务根据其自身功能要求具有不同程度可扩展性。 注意:试试响应代码 418,它会返回简洁有力回复:"我是一个茶壶。"

2.5K01

API架构风格对比:SOAP vs REST vs GraphQL vs RPC

服务端和客户端交互归结为对后端调用,并获取响应结果。...REST如何工作 REST没有像SOAP那样严格。RESTful架构应该遵循以下六个架构约束: 统一接口:为一个给定服务(无论是设备还是应用类型)提供统一接口。...但关键部分使用是超媒体(又称HATEOAS,Hypertext As The Engine of Application State),意味着对于每个响应REST API提供了如何使用API所有元数据信息...这也是为什么HATEOAS主要作为RESTful API设计长期开发愿景。 REST和RPC之间有一些灰色区域,特别是当一个服务具有一部分REST特性,一部分RPC特性。...过度获取和不足获取问题:由于有时候会出现包含数据过多或过少情况,导致接收到REST响应之后,通常还会需要另一个请求。

2.9K11

RESTful 架构基础

返回内容可能是 XML、JSON 格式,或者更确切地说是像 Atom 或自定义 MIME 类型等超媒体格式。虽然一般建议尽可能重用现有的格式,但是对正确设计媒体类型正在变得越来越宽容。...客户端需要发出 GET 请求获取指定资源。客户端可以本地缓存请求结果,服务器可以远程缓存结果,系统中间层可以在请求链路中间缓存结果。这是一个与具体应用程序无关特性,可以加入系统设计中。...我们完全可以建立一个防护模型,要求用户操作前验证身份,证明他们具有该操作授权。本文最后,将提供一些提升 RESTful 服务安全性内容。 2. RESTSOAP 比怎么样?...许多人不恰当地称之为 “REST”。可以将这种分类看作系统中不同 Web 技术组件紧密程度度量标准:包括信息资源、HTTP 作为应用层协议和作超媒体作为控制媒介。 ?...接下来,当一切就绪,使用基于超媒体 MIME 类型,这样就可以充分享受 REST 好处了。 4. 动词 动词是用来与服务器资源交互方法或操作。

76120

API协议设计10种技术

另外,处理许多请求和有限带宽,最好使用 REST。在这种情况下,可以使用其缓存支持来提高性能。 2. GraphQL 是2015年引入一种数据查询语言。...它允许开发人员精确定位并获取他们需要的确切数据。与 REST 相比,GraphQL 是一种客户端驱动方法,客户端可以决定需要什么数据、如何获取数据以及格式。...GraphQL不足之处在于查询可能很复杂,缺乏内置缓存支持。与 REST 相比,学习 GraphQL 具有一定挑战性,并且默认情况下它不支持文件上传。...EDI将企业间商业文档转换为标准数据格式,这些数据格式转换为其他应用程序所需数据格式。...WS-Reliable Messaging:标准化了不可靠 IT 基础架构间传输消息错误处理方式。

27010

4种主流API架构风格对比

SOAP:使数据作为服务可用 SOAP 是一个 XML 格式、高度标准化网络通讯协议。 XML-RPC 发布一年后,SOAP 由微软发布、并继承了许多 XML-RPC 特性。...内置创建 Web 服务功能使得 SOAP 能够处理消息通信同时发送独立于语言和平台响应。 绑定到各种协议。SOAP 适用于多种场景传输协议方面是十分灵活。 内置错误处理。...但 REST 关键部分是超媒体(又称 HATEOAS),是超文本作为应用程序状态引擎(Hypertext As The Enginer Of Application State)缩写。...当服务端实现 REST 某些功能和 RPC 某些功能 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词,而不是基于动作或动词。...详细错误消息:GraphQL 以类似于 SOAP 方式提供所发生错误详细信息。它错误消息包括所有解析器,并指向确切发生故障查询部分。

2.3K30

RestFul架构基础

返回内容可能是 XML、JSON 格式,或者更确切地说是像 Atom 或自定义 MIME 类型等超媒体格式。虽然一般建议尽可能重用现有的格式,但是对正确设计媒体类型正在变得越来越宽容。...客户端需要发出 GET 请求获取指定资源。客户端可以本地缓存请求结果,服务器可以远程缓存结果,系统中间层可以在请求链路中间缓存结果。这是一个与具体应用程序无关特性,可以加入系统设计中。...我们完全可以建立一个防护模型,要求用户操作前验证身份,证明他们具有该操作授权。本文最后,将提供一些提升 RESTful 服务安全性内容。 2. RESTSOAP 比怎么样?...许多人不恰当地称之为 “REST”。可以将这种分类看作系统中不同 Web 技术组件紧密程度度量标准:包括信息资源、HTTP 作为应用层协议和作超媒体作为控制媒介。 ?...接下来,当一切就绪,使用基于超媒体 MIME 类型,这样就可以充分享受 REST 好处了。 4. 动词 动词是用来与服务器资源交互方法或操作。

60710

RESTful 架构基础

返回内容可能是 XML、JSON 格式,或者更确切地说是像 Atom 或自定义 MIME 类型等超媒体格式。虽然一般建议尽可能重用现有的格式,但是对正确设计媒体类型正在变得越来越宽容。...客户端需要发出 GET 请求获取指定资源。客户端可以本地缓存请求结果,服务器可以远程缓存结果,系统中间层可以在请求链路中间缓存结果。这是一个与具体应用程序无关特性,可以加入系统设计中。...我们完全可以建立一个防护模型,要求用户操作前验证身份,证明他们具有该操作授权。本文最后,将提供一些提升 RESTful 服务安全性内容。 2. RESTSOAP 比怎么样?...许多人不恰当地称之为 “REST”。可以将这种分类看作系统中不同 Web 技术组件紧密程度度量标准:包括信息资源、HTTP 作为应用层协议和作超媒体作为控制媒介。 ?...接下来,当一切就绪,使用基于超媒体 MIME 类型,这样就可以充分享受 REST 好处了。 4. 动词 动词是用来与服务器资源交互方法或操作。

91830

4种主流API架构风格对比

2SOAP:使数据作为服务可用 SOAP 是一个 XML 格式、高度标准化网络通讯协议。 XML-RPC 发布一年后,SOAP 由微软发布、并继承了许多 XML-RPC 特性。...SOAP 适用于多种场景传输协议方面是十分灵活。 内置错误处理。SOAP API 规范允许返回带有错误码及其说明 XML 重试消息。 一系列安全拓展。...但 REST 关键部分是超媒体(又称 HATEOAS),是超文本作为应用程序状态引擎(Hypertext As The Enginer Of Application State)缩写。...当服务端实现 REST 某些功能和 RPC 某些功能 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词,而不是基于动作或动词。 ?...详细错误消息:GraphQL 以类似于 SOAP 方式提供所发生错误详细信息。它错误消息包括所有解析器,并指向确切发生故障查询部分。

2.3K20

快速学习-RESTFul设计风格

id=100 2)HTTP动词(请求方式) 对于资源, 一般有4个操作, CURD(增/删/改/查) GET: 从服务获取资源(一项或多项) POST: 服务器新建一个资源 PUT: 服务器更新资源...,参数错误) 404 (not found)- 资源不存在 406 (not acceptable)- 服务不支持所需表示 500 (internal server error)- 通用错误响应...Failed)- 前置条件失败(如执行条件更新冲突) 415 (unsupported media type)- 接受到表示不受支持 500 (internal server error)-...)- 资源不存在 406 (not acceptable)- 服务不支持所需表示 409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新冲突...) 415 (unsupported media type)- 接受到表示不受支持 500 (internal server error)- 通用错误响应 503 (Service Unavailable

1.2K20

【Http】一文备忘Http状态码(406,415,422)

例如请求媒体类型是application/xml,但是Web API仅支持application/json类型,并且API不会将application/json作为默认格式提供; 409:Conflict...通常指更新资源发生冲突,例如,当你编辑某个资源时候,该资源服务器上又进行了更新,所以你编辑资源版本和服务不一致。当然有时候也用来表示你想要创建资源服务器上已经存在了。...415:Unsupported media type,与406正好相反,有一些请求必须带着数据发往服务器,这些数据都属于特定媒体类型,如果API不支持媒体类型格式,415就会被返回。...[FromBody]*接收,服务端api是不会接收数据,便会返回415 Unsupported Media Type-不支持媒体类型。...服务器已经懂得了实体Content Type媒体类型,也就是说415状态码肯定不合适; 此外,实体语法也没有问题,所以400也不合适。 但是服务器仍然无法处理这个实体数据,这时就可以返回422。

1.1K10

盘点 15 个好用 API 接口管理神器

WSO2 API管理器 WSO2 API Manager是一个完整生命周期API管理平台,可以随时随地运行。可以企业内部和私有云上执行API分发和部署。除此之外,它还提供了一些其他便利。...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同数据类型创建和维护REST API。...SnapLogic企业集成云 SnapLogic是一个不错集成平台即服务(iPaaS)工具,可帮助组织获取,维持和增长其客户群。...它使他们能够将任何SQL / NoSQL数据库,外部HTTP / SOAP服务或文件存储系统集成到DreamFactory环境中,并自动获得全面,灵活,完全文档化且随时可用REST API。...DreamFactory API管理平台另一个独特功能是,它可以立即将JSON请求转换为SOAP,反之亦然。

2.9K20

盘点 15 个好用 API 接口管理神器

WSO2 API管理器 WSO2 API Manager是一个完整生命周期API管理平台,可以随时随地运行。可以企业内部和私有云上执行API分发和部署。除此之外,它还提供了一些其他便利。...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同数据类型创建和维护REST API。...SnapLogic企业集成云 SnapLogic是一个不错集成平台即服务(iPaaS)工具,可帮助组织获取,维持和增长其客户群。...它使他们能够将任何SQL / NoSQL数据库,外部HTTP / SOAP服务或文件存储系统集成到DreamFactory环境中,并自动获得全面,灵活,完全文档化且随时可用REST API。...DreamFactory API管理平台另一个独特功能是,它可以立即将JSON请求转换为SOAP,反之亦然。

2.6K50

盘点 15 个好用 API 接口管理神器

WSO2 API管理器 WSO2 API Manager是一个完整生命周期API管理平台,可以随时随地运行。可以企业内部和私有云上执行API分发和部署。除此之外,它还提供了一些其他便利。...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同数据类型创建和维护REST API。...SnapLogic企业集成云 SnapLogic是一个不错集成平台即服务(iPaaS)工具,可帮助组织获取,维持和增长其客户群。...它使他们能够将任何SQL / NoSQL数据库,外部HTTP / SOAP服务或文件存储系统集成到DreamFactory环境中,并自动获得全面,灵活,完全文档化且随时可用REST API。...DreamFactory API管理平台另一个独特功能是,它可以立即将JSON请求转换为SOAP,反之亦然。

2.3K50

Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)

考虑因素:基于此模式应用解决方案需要考虑以下因素。 对远程系统调用是否要求Salesforceresponse回来之前等待响应?对远程系统调用是同步请求-应答还是异步请求?...当满足以下条件,最好使用此功能特性: •外部托管服务是RESTful服务,并且这个定义OpenAPI 2.0 JSON格式下可用。...• Error Handling:当error发生(异常或者错误code),调用者管理错误处理。比如页面展示错误信息或者跳转到共用页面等等。   ...•Salesforce目前不支持WS-Security。   必要,考虑使用单向加密或数字签名,使用Apex Crypto类方法来确保请求完整性。   ...总结:篇中主要介绍了远程进程调用--请求和响应集成模式,这个实际项目场景是最常用到,所以大家理解也相对方便。篇中有错误欢迎指出,有不懂欢迎留言。

1.3K40

架构师该如何为应用选择合适API

分层系统:体系结构必须是分层,这意味着体系结构组件可以位于多个服务器中。 按需代码:客户端必须能够获取可执行代码作为响应。这是一个可选约束。...REST是同步服务,如果需要可能要引入回调机制。例如Webhook。 REST只提供客户端调用服务选项,不支持服务器端发起请求。 于是新API类型会出现来解决这些问题。...同时客户端和服务器端团队可以并行独立工作。 强类型GraphQL模式使得代码可预测,并及早发现错误。...与REST相比,gRPC另一个显著改进是它使用HTTP 2作为其传输协议。REST使用HTTP 1.1基本上是一个请求-响应模型。gRPC利用HTTP 2双向通信功能以及传统响应请求结构。...HTTP 1.1中,当多个请求来自多个客户端,它们将被一一处理。这会降低系统速度。HTTP 2允许多路复用,因此可以同时处理多个请求和响应。 gRPC开发模式和之前提到CORBA有些类似。

1.6K20

我所理解RESTful Web API

Fielding论文中将REST定位为“分布式超媒体应用(Distributed Hypermedia System)”架构风格,它在文中提到一个名为“HATEOAS(Hypermedia as the...资源浏览器中以超媒体形式呈现,通过点击超媒体链接可以获取其它相关资源或者对当前资源进行相应处理,获取资源或者针对资源处理响应同样以超媒体形式再次呈现在浏览器上。... 24: Fielding在他论文中将REST定位为“分布式超媒体应用”架构风格,而超媒体核心就是利用“链接”相关信息结成一个非线性网,所以从一点也可以看出...对于请求提交资源,我们一般利用请求Content-Type报头携带媒体类型来判断其采用表示类型。对于响应资源表示类型识别,可以采用如下两种方式。...不借助任何插件情况下,我们利用浏览器访问我们地址栏中输入URI对生成请求内容不能作任何干预,如果与资源表示相关信息(比如语言、媒体类型)被直接包含到请求URI中,那么所有的情况都可以利用浏览器直接测试

99270

Asp.net web api 知多少

REST是一种架构风格,它将每个服务对待为资源并通过Http协议方法(GET、POST、PUT、DELETE)获取数据。 REST风格架构包含客户端和服务端。...任何会话类型数据应该在客户端保存和处理,只有每次请求中按需传递到服务器。 Cacheable(可缓存) - 客户端应该能够缓存响应以供后续使用。 Q3. RESTSOAP区别是什么?...SOAP 使用xml作为消息格式 REST 支持xml,json SOAP 定义了标准规范。...(支持多种媒体类型)去携带元数据,使用GET、POST、PUT、DELETE 动词执行CURD SOAP 使用接口以及命名操作去调用Service。...当您要通过HTTP创建面向资源服务选择WEB API,因为其可以使用完整 HTTP特性(如URI,请求/响应头,缓存,版本控制,各种内容格式)。

4.8K50
领券