当前位置: 首页 > 后端技术 > Java

ODataAPI和RestfulAPI这两个概念的区别和联系

时间:2023-04-01 16:34:58 Java

我们在SAPAPIBusinessHub中可以看到三种“不同”类型的API:OData、SOAP和Restful:它们之间有什么区别和联系?OData与REST:什么是REST?REST(REpresentationalStateTransfer)是一种软件架构风格,它定义了如何使用HTTP协议在两个不同的系统之间发送消息。REST最初由RoyFielding于20年前开发,现已发展成为万维网上最流行的信息交换架构。REST标准概述了Web服务的6条不同原则或架构限制:统一接口:REST系统中的所有组件必须遵循相同的规则和接口才能相互通信。每个资源都由一个URI(统一资源标识符)唯一标识。客户端-服务器:REST将负责存储和发送信息的服务器与负责获取信息并适当使用信息的客户端分开。这种分离使双方更加独立和可扩展。无状态:使用REST发出的每个请求都是无状态的:它包含服务器执行请求所需的所有信息。服务器不需要在请求完成后存储参数或状态。例如,如果客户端请求访问受限资源,则客户端必须在每次请求时将其身份验证令牌发送到服务器。可缓存:REST中的客户端和服务器都可以缓存资源,这有助于减少流量并提高性能。分层系统:REST允许分层系统架构:客户端只能与系统中的一个服务器通信,而其他服务器执行身份验证和数据存储等功能。客户端无法判断它是在与终端系统还是中介进行通信。按需代码:可选地,REST请求可以在必要时返回逻辑或可执行代码。遵循上述原则的API(应用程序编程接口)称为REST(或RESTful)API。OData与REST:什么是OData?根据OData网站,OData(开放数据协议)“定义了一组构建和使用RESTfulAPI的最佳实践。OData可帮助您构建RESTfulAPI,同时专注于您的业务逻辑,而无需担心定义请求和响应的各种方式标头、状态代码、HTTP方法、URL约定、媒体类型、有效负载格式、查询选项等。“OData最初由微软创建,并由非营利组织OASIS(结构化信息标准促进组织)标准化。IBM、SAP和Salesforce等企业技术公司在其内部IT环境中使用OData。REST是最OData的重要组件技术。根据OData3.0标准,OData用户应遵循REST原则,“除非有强烈而具体的理由不这样做”。OData标准还定义了一个响应REST传输数据的数据模型请求。OData支持两种不同的数据传输协议:基于XML的Atom格式(用于发布和编辑Web资源)和JSON(用于以人类可读的形式存储数据)。最后,OData包括有关如何执行跟踪等操作的说明改变,定义可重用程序,并为多个(批量)REST请求发送指南)。两者之间的区别尽管如此,OData和REST之间的区别如下:REST是一种通过HTTP协议交换信息的架构风格。REST标准定义任何RESTAPI都必须符合6条原则(1条可选)。OData建立在REST框架之上,定义了构建RESTAPI的最佳实践,包括HTTP消息格式、如何查询API等。虽然OData鼓励用户始终遵循REST原则,但如果有令人信服的理由放宽这一要求。另外,OData指定数据应以Atom或JSON格式传输。