c# - 如何使用 net5 OpenAPI 支持指定基本接口
问题描述
我正在尝试使项目适应 .net5 并希望使用添加 OpenAPI 服务引用的新功能。据我了解,NSwag 将用于生成客户端。过去我已经为此目的使用了 NSwag,我可以使用clientBaseInterface选项来指定客户端接口的基本接口,即
interface IClient: **IClientBase** {}
class Client: IClient {}
另请参阅https://github.com/RicoSuter/NSwag/issues/2772。
我尝试为我的 .net5 项目使用以下配置,但不会为生成的类型指定基本接口:
<ItemGroup>
<OpenApiReference Include="openapi.json" CodeGenerator="NSwagCSharp" Namespace="MyNamespace">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<ClassName>MyOpenApiClient</ClassName>
<OutputPath>MyOpenApiClient.cs</OutputPath>
<Options>/GenerateClientInterfaces:true /UseBaseUrl:false /ExceptionClass:OpenApiException /ClientBaseInterface:MyBaseInterface</Options>
</OpenApiReference>
</ItemGroup>
有人知道如何在 .net 项目文件中使用此选项吗?
更新: 由于 NSwag 正在创建部分类和接口,一个简单的解决方法是在部分接口中添加 IClientBase 接口,即
// partial extension
partial interface IClient : **IClientBase** {}
// generated code
partial interface IClient {}
partial class Client: IClient {}
但是,如果我们可以直接在 .net 项目文件中管理它,仍然会很有趣。
解决方案
推荐阅读
- javascript - Vuetify - v-data-table 单元格中的图像 - 只有部分图像可见
- reactjs - 如何将底部选项卡导航器与抽屉导航器结合使用
- pandas - 熊猫选择匹配多列
- ios - NSDateFormatter dateFromString 崩溃(从 formatter.date 调用(来自:String)
- node.js - socket.io | 我应该将路由处理程序包装在 io.on('connection') 中吗?
- sql - 在 exec 中声明变量会改善 SQL 查询计划吗?
- textinput - 有没有办法将文本添加到 html 中的函数输出?
- c# - 我无法搜索所有 WPF 窗口
- .net - 在 VBA 项目中使用 .NET 散列类
- html - 如何在 Bootstrap 5 中使用带有标题标签的大文本面包屑?