Share classes vs. swagger generated classes(共享类与swagger生成的类)
问题描述
我有一个包含三个项目的ASP.NET/Blazor VS解决方案
- 共享
- ASP.NET核心API
- Blazor Web程序集。
我在Shared
项目中创建了一些类,并从其他两个项目中引用了Shared
项目。到目前为止一切正常。
Swagger UI
为我生成存根,以便我可以与远程API交互。Swagger UI
创建了Service.cs
和Contract.cs
,非常棒。问题是Contract.cs
重新定义了我在它自己的命名空间下的共享项目中声明的类。现在我不知道该用哪种,该进口哪种。如果我使用自己的Shared
类,那么如果不强制转换,我将无法在Service.cs
中使用swagger中的API。如果我修改Contract.cs
,则下次运行Swagger UI
时,我所做的所有更改都将丢失。
这还导致有两个DBContext
-1)我定义的那个和2)swagger定义的那个。现在,每当我想要做一些事情时,我还必须在命令行上使用--context
参数来指定要使用哪个DBContext
。
问题是,我如何使用自己的类,同时使用swagger来简化与远程API的对话?这里的最佳实践是什么?
推荐答案
如果要使用swagger(客户端),则不应引用共享项目。大摇大摆的小爪子就是你得到/想要的。
但是在Blazor里你不需要Swagger。在Shared中共享DTO类是Blazor的亮点之一。
如果您需要有关客户端上的样板内容的帮助,那么有类似refit这样的选项。有关此信息,请参阅blog。
这篇关于共享类与swagger生成的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:共享类与swagger生成的类


- C#MongoDB使用Builders查找派生对象 2022-09-04
- 输入按键事件处理程序 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- 如何用自己压缩一个 IEnumerable 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01