gpt4 book ai didi

java - OpenApi/Swagger - 客户端和服务器有什么区别?

转载 作者:行者123 更新时间:2023-12-04 15:39:03 25 4
gpt4 key购买 nike

我已经构建了一个 RESTful 服务,使用 yaml 使用 OpenApi 3.0 公开端点

当我构建它时,它会自动生成一个 client 目录和一个 server 目录。

我成功地将服务器 API 用作消费请求的端点。

然而,客户端 API 是从完全相同的 yaml 生成的...接受相同的参数类型并返回与服务器相同的类型。

我的理解是客户端产生对外部服务的请求,而服务器使用来自外部服务的请求。

如果这是正确的,为什么 OpenApi 将客户端和服务器定义为相同的,并且不提供单独配置它们的方法?

最佳答案

你是对的:

My understanding was a client produces requests to an external service, while a server consumes requests from an external service.

这些基本上是您的规范的示例实现。

它们都是从同一个 OpenAPI 合约构建的,客户端可以调用服务器,服务器将按照他们就规范中描述的各种 API 和数据模式达成一致的方式工作。

客户端 是一个可以在使用 API 的应用程序中使用的库,因为您可以按原样使用它向 OpenAPI 定义描述的 API 发出请求。

服务器 只是一个示例服务器应用程序,它提供 OpenAPI 中描述的 HTTP 接口(interface)。

它们本身都不是非常有用,因为客户端只需以正确的方式调用 API,而服务器将简单地公开端点并执行序列化/反序列化任何请求或响应数据等操作。 API 的实现由您决定。

通常,我从生成的规范中使用的有用位是 model 类,因为这有助于确保我的应用程序代码(无论是客户端还是服务器)基于正确的模式。

关于java - OpenApi/Swagger - 客户端和服务器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58652317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com