我有一个带有 Swashbuckle 文档的 WebAPI 项目。我有另一个项目将我的抽象和基类放在那里,并且我实现了一个基类来包含一些应包含在所有请求中的基本属性。因此,我想使用
<summary>
和 <example>
文档标签在 swagger UI 中显示一些示例数据。但是,看起来这些标签仅适用于派生类,并且 swagger UI 不显示来自基础的示例数据。
有什么方法可以在 Swagger 中包含继承的文档和示例吗?
我找到了解决方案。我正在使用这行代码将 XML 文档嵌入到我的 Swagger UI 中:
var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
所以,我的抽象项目的文档不包含在那里,我通过这段代码添加它。
var files = Directory.GetFiles(AppContext.BaseDirectory, "*.xml", SearchOption.AllDirectories);
foreach (var file in files)
{
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, file));
}
所以看来我们应该将所有依赖项文档嵌入到托管服务中。