REST api 和 REST 服务器有什么区别

Sir*_*ond 1 rest web-services

我对此有点困惑。我可以将我的 Java 服务器称为 REST 服务器还是应该将其称为 REST api?正确的术语是什么?什么时候可以调用 REST api,什么时候可以调用 REST 服务器?

谢谢

cod*_*ane 5

简单来说, aREST API是一组s,通常使用方法URL来响应 发出的请求。响应中返回很多s。HTTPGET POST PUT DELETE HTTPREST APIJSON

例如,要获取客户的详细信息,REST API可能会GET请求:

https://customers.com/api/1234
Run Code Online (Sandbox Code Playgroud)

其响应为:

{
  "id": 1234,
  "name": "Joe Bloggs"
}
Run Code Online (Sandbox Code Playgroud)

REST API部分是/api/1234. 可用于简化创建的框架的一个示例REST APIspring-boot

REST 服务器部分是https://customers.com

REST Server提供基础设施以允许客户端GET向其发送请求REST API并接收响应。

可以用作 REST 服务器的服务器示例有Apache HTTPDTomcatIIS等。

回答一些问题:

我应该使用 REST API 而不是服务器

如果没有 则不能REST API使用A。Rest Server服务器是接受对 的请求API并促进来自 的响应的应用程序API。客户端将向forREST API发送GET请求。将会发现“customer.com/api/1234”是一个在 内部运行的 Web 应用程序,并将控制权传递给该 Web 应用程序。REST Servercustomer.com/api/1234REST ServerREST Server

下一个问题的答案来自该移交:

REST API分为三层——表示层、业务层和数据层

这完全取决于 . 的开发人员REST API。这就是 的实现细节REST API。例如,典型的流程可能是:

  1. REST Server收到GET请求customer.com/api/1234
  2. REST Server手动控制REST API接收URL路径参数1234
  3. REST API确定请求是针对客户(业务层)
  4. REST API联系人数据库加载 id 1234 的客户数据(数据层)
  5. REST API返回JSON如上所示(表示层)
  6. REST ServerJSON向客户端发送响应

因此,所有域操作均由(查找客户、将数据转换为 JSON)处理,所有互联网操作均由(客户端连接、请求和响应)REST API处理。REST ServerHTTP

在 spring-boot 框架中,您可以REST API使用 Java 进行开发,并将其与内置组件REST Server(Tomcat) 捆绑在一起,这样您只需生成一个放置在计算机上并运行的 JAR 文件。

所以实际上,你有三个组成部分。计算机(例如连接到互联网的 unix 服务器,甚至是您的电脑并使用http://localhost/customer/api/1234)。A REST Server(Tomcat,可以接受HTTP请求)和 a REST API(您编写的用于实现层的代码)。