开放API与REST API的区别

开放API与REST API的区别,rest,openapi,Rest,Openapi,开放式API与Internet上公开的REST API有何不同?当解释OpenAPI时,它解释了如何在LAN中公开API,而不是将其公开给公众。那么到底有什么区别呢?REST(代表性状态转移)描述了客户端和服务器之间的交互方式。REST通信通常基于HTTP协议(但这不是一个要求),请求是向资源URI发出的,可能包含额外的请求数据,并且回复可以是任何内容:HTML、XML、JSON、CSV、纯文本甚至原始二进制数据。它不是一个具体的协议,而是一种协议可以使用的通信方式,类似于SOAP或WSDL 要

开放式API与Internet上公开的REST API有何不同?当解释OpenAPI时,它解释了如何在LAN中公开API,而不是将其公开给公众。那么到底有什么区别呢?

REST(代表性状态转移)描述了客户端和服务器之间的交互方式。REST通信通常基于HTTP协议(但这不是一个要求),请求是向资源URI发出的,可能包含额外的请求数据,并且回复可以是任何内容:HTML、XML、JSON、CSV、纯文本甚至原始二进制数据。它不是一个具体的协议,而是一种协议可以使用的通信方式,类似于SOAP或WSDL

要访问REST服务,客户机需要知道该服务提供的RESTAPI,因此必须有文档,并且您需要根据该文档编写代码。使用OpenAPI,这一步骤是自动化的。有了OpenAPI,就有一个机器可解析的文件来解释计算机RESTAPI是如何工作的。它告诉代码存在什么请求以及期望得到什么答复。引用OpenAPI描述:

OpenAPI规范(OAS)为REST API定义了一个标准的、与编程语言无关的接口描述,它允许人类和计算机发现和理解服务的功能,而无需访问源代码、附加文档或检查网络流量

因此,如果您有一个OpenAPI实现和一个REST API的OpenAPI描述文件,您可以将该描述文件提供给OpenAPI实现,该实现现在知道如何使用REST API,它可以为您生成人类可读的文档,甚至可以自动生成代码以使用不同语言的RESTAPI

可以将其与XML和DTD进行比较。XML和REST一样,只是XML描述数据而不是通信。但是存在数百万种不同的基于XML的数据格式,要正确解析XML文件,代码需要知道存在哪些标记,哪些标记可能有哪些子标记,哪些数据作为标记内容(int、string、UUID等)等等。所有这些都是由DTD(文档类型定义)定义的,DTD类似于OpenAPI描述文件。理解DTD的代码可以用DTD输入,然后解析声称符合该DTD的XML数据,并验证其是否真实(是否只使用允许的标记、标记交错是否有效、标记值是否正确等等)

例如,这是XHTML的DTD:

您好,也许这篇文章会给您一些答案