Swashbuckle - 将模型和示例值从另一个项目的模型添加到 Swagger UI

Swashbuckle - Add Model and Example values to Swagger UI from a Model from another project(Swashbuckle - 将模型和示例值从另一个项目的模型添加到 Swagger UI)
本文介绍了Swashbuckle - 将模型和示例值从另一个项目的模型添加到 Swagger UI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Swagger 记录我的 .NET C# API,当我的模型在另一个项目中时,Swagger 只是崩溃并且不加载任何内容.

I am using Swagger to document my .NET C# API and when my models are on another project Swagger just crashes and doesn't load anything.

当我从 Visual Studio 加载示例 WebAPI 项目时,它使用同一项目中的模型并且可以正常工作:

When I load the sample WebAPI Project from Visual Studio it uses the models that are on the same project and it works:

但是当我使用其他项目中的模型时,它会在加载任何内容之前崩溃.

But when I use Models from other project it just crashes before loading anything.

我有一个 API 项目和一个业务项目.我的模型是存储在我的商业项目中的视图模型(并在其他项目中共享,因此需要在那里).

I have an API project and a Business Project. My models are View Models stored(and shared among other projects, therfore needed there) on my Buisiness Project.

有什么方法可以向 Swagger 指出我的模型定义在哪里?

Is there any way I can indicate to Swagger where my model definitions are?

推荐答案

我最近在处理一个托管在 IIS 上的 Web API 项目时遇到了类似的情况.我被要求为来自两个不同项目的所有视图模型和模型启用 xml 文档.

I have recently handled a similar scenario when I worked on a web API project which was hosted on IIS. I was required to enable xml documentations for all view models and models from two different projects.

以下是工作主要步骤的总结:

Below is a summary of the main steps of the work:

  1. 为相关项目启用 XML 文档(请参阅 这里)
  2. 对于每个项目,首先构建它,然后将 xml 文件包含在项目中.将文件Copy to Output Directory"的属性设置为Copy is newer",以确保将其复制到服务器的bin文件夹中.
  3. 在 Swagger 配置中,调用 IncludeXmlComments() 以包含 Simon88 建议的 XML 文档文件.

关键是要确保所有 xml 文档文件都复制到主机服务器的 bin 文件夹中,并且 Swagger UI 知道它们在哪里:-).

The key point is to ensure all xml documentation files are copied to the bin folder of the host server and Swagger UI knows where they are :-).

顺便说一句,这类问题几乎没有类似的问题/答案.一个是这里

By the way, there are few similar questions/answers for this kind of issue. One is here

希望对你有帮助.

这篇关于Swashbuckle - 将模型和示例值从另一个项目的模型添加到 Swagger UI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)