g.p*_*dou 8 .net openapi nswag nswagstudio
语境
我已将连接的服务添加到我的 .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>
Run Code Online (Sandbox Code Playgroud)
这些选项似乎与 NSwagStudio 保存到其 .nswag 文件中的选项非常相同。我不确定这只是一个猜测,其中一些到目前为止似乎有效。(这有记录在某处吗?)
然而 NSwagStudio 也保存默认值(我不知道是什么),所以在典型的 .nswag 文件中,json 中有大约 80 个设置:
"codeGenerators": {
"openApiToCSharpClient": {
...
"generateClientInterfaces": true,
"clientBaseInterface": null,
... up to more than 80 lines...
Run Code Online (Sandbox Code Playgroud)
问题
<Options>这将导致.csproj 文件中的 element中出现很长的一行。(似乎不允许换行(?))。有没有办法使用外部选项文件(例如 json .nswag 文件)来配置代码生成选项?
我相信您可以通过使用您提到的 .nswag 文件并遵循此处的架构来实现这一目标:
https://github.com/RicoSuter/NSwag/wiki/NSwag-Configuration-Document