.net 使用OpenApiReference,如何使用.nswag json选项文件(或任何替代文件)配置代码生成器选项

xkftehaa  于 2023-10-21  发布在  .NET
关注(0)|答案(1)|浏览(117)

上下文

我已经将一个连接的服务添加到我的.NET 6项目中,并使用NSwagCSharp代码生成器生成客户端。(在我以前的项目中,我使用了NSwagStudio)
我发现在.csproj文件中可以添加选项:

<OpenApiReference Include="OpenAPIs\swagger.json" CodeGenerator="NSwagCSharp" ClassName="MyClient">
  <SourceUri>https://localhost:xxxx/swagger/v1/swagger.json</SourceUri>
  <Options>/UseBaseUrl:false /GenerateClientInterfaces:true /InjectHttpClient:false, /DisposeHttpClient:false,
  </Options>
</OpenApiReference>

看起来这些选项与NSwagStudio保存到.nswag文件中的选项非常相同。我不确定这只是一个猜测,其中一些似乎工作到目前为止。(这是在某个地方记录的吗?))
然而,NSwagStudio也保存了默认值(我不知道是什么),所以在一个典型的.nswag文件中,json中有大约80个设置:

"codeGenerators": {
 "openApiToCSharpClient": {
  ...
  "generateClientInterfaces": true,
  "clientBaseInterface": null,
  ... up to more than 80 lines...

问题

这将导致.csproj文件中的<Options>元素中出现很长的一行。(似乎不允许换行)?有没有办法使用外部选项文件(如json .nswag文件)来配置代码生成选项?

wbgh16ku

wbgh16ku1#

我相信你可以通过使用你提到的.nswag文件并遵循这里的模式来实现这一点:
https://github.com/RicoSuter/NSwag/wiki/NSwag-Configuration-Document

相关问题