gpt4 book ai didi

c# - 如何在使用 NSwag 生成的客户端方法名称中包含 Http 请求方法名称

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:01 25 4
gpt4 key购买 nike

当我使用 NSwag 为 API 生成 C# 客户端时,其中 API 包含可用于多种 Http 请求类型(例如 POST、GET)的端点客户端为每个具有相同基本名称的请求生成一个方法,外加一个数字。

例如使用此 API:https://api.premiumfunding.net.au/assets/scripts/swagger/v1/swagger.json

该架构包含一个端点/contract,它支持GETPOST 请求,以及一个端点/contract/{ID} 支持 GETPOSTDELETE 请求。

生成的客户端有方法:

  • ContractAsync 用于没有 ID 的 GET 请求
  • Contract2Async 用于没有 ID 的 POST 请求
  • Contract3Async 用于带有 ID 的 GET 请求
  • Contract4Async 用于带 ID 的 POST 请求
  • Contract5Async 用于带 ID 的 DELETE 请求

我希望它生成名为的方法:

  • GetContractAsync 用于没有 ID 的 GET 请求
  • PostContractAsync 用于没有 ID 的 POST 请求
  • GetContractAsync 用于带有 ID 的 GET 请求(方法重载)
  • PostContractAsync 用于带 ID 的 POST 请求(方法重载)
  • DeleteContractAsync 用于带有 ID 的 DELETE 请求

目前我只是手动重命名方法。

是否可以配置 NSwag 来生成这些方法名称?

(或者是否有替代工具可以给我这个结果?)

最佳答案

您可以实现并提供自己的 IOperationNameGenerator:

https://github.com/RSuter/NSwag/blob/master/src/NSwag.CodeGeneration/OperationNameGenerators/IOperationNameGenerator.cs

另一种选择是预处理规范并将“operationId”更改为“controller_operation”形式(基于 NSwag.Core 包的简单控制台应用程序)

关于c# - 如何在使用 NSwag 生成的客户端方法名称中包含 Http 请求方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49891178/

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