Share classes vs. swagger generated classes(共享类与swagger生成的类)
本文介绍了共享类与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生成的类
基础教程推荐
猜你喜欢
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- SSE 浮点算术是否可重现? 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- 如何激活MC67中的红灯 2022-01-01