我已經構建了一個 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
,因為這有助于確保我的應用程序代碼(無論是客戶端還是服務器)基于正確的架構。
添加回答
舉報
0/150
提交
取消