Bru*_*ppe 6 .net c# swagger visual-studio-2015 swashbuckle
我正在使用 Swagger 来记录我的.NET C#API,当我的模型在另一个项目上时,Swagger 只是崩溃并且不加载任何东西。
当我WebAPI从 Visual Studio加载示例项目时,它使用同一项目中的模型并且可以正常工作:

但是,当我使用其他项目中的模型时,它会在加载任何内容之前崩溃。
我有一个 API 项目和一个业务项目。我的模型是在我的商业项目中存储(并在其他项目之间共享,因此需要)的视图模型。
有什么方法可以向 Swagger 表明我的模型定义在哪里?
我在使用 Swashbuckle 5.6.0 时遇到了同样的问题,并设法修复如下。通过更改项目属性,在包含项目的模型对象上启用 XML 文档文件,如下所示。
然后进入api项目的SwaggerConfig.cs文件,添加模型对象项目的xml注释文件,如下。
c.IncludeXmlComments(string.Format(@"{0}\bin\WebApplication1.XML", System.AppDomain.CurrentDomain.BaseDirectory));
// New code line
c.IncludeXmlComments(string.Format(@"{0}\bin\core.XML", System.AppDomain.CurrentDomain.BaseDirectory));
Run Code Online (Sandbox Code Playgroud)
现在,您将在 swagger 文档上看到模型属性的 xml 注释。
小智 2
我最近在处理托管在 IIS 上的 Web API 项目时处理了类似的情况。我需要为所有视图模型和来自两个不同项目的模型启用 xml 文档。
下面总结一下工作的主要步骤:
关键点是确保所有 xml 文档文件都复制到主机服务器的 bin 文件夹中,并且 Swagger UI 知道它们在哪里:-)。
顺便说一下,此类问题很少有类似的问题/答案。一个在这里
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
15257 次 |
| 最近记录: |