为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

SMILET 2024-01-25 10:44:39
我已经构建了一个 RESTful 服务,使用 OpenApi 3.0 公开端点yaml当我构建这个时,它会自动生成一个client目录和一个server目录。我成功地利用服务器 API 作为消耗请求的端点。然而,客户端 API 是由完全相同的生成的yaml......接受相同的参数类型并返回与服务器相同的类型。我的理解是客户端向外部服务发出请求,而服务器则消费来自外部服务的请求。如果这是正确的,为什么 OpenApi 相同地定义客户端和服务器,并且不提供单独配置它们的方法?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

你是对的:

我的理解是客户端向外部服务发出请求,而服务器则消费来自外部服务的请求。

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

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

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

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

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

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


查看完整回答
反对 回复 2024-01-25
  • 1 回答
  • 0 关注
  • 26 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信