需要将现有模型(非内联)添加到.Net核心API中的Swagger架构

9lowa7mx  于 2022-11-06  发布在  .NET
关注(0)|答案(1)|浏览(123)

我正在为基于.Net Core 6的API生成Swagger文档。我有一些错误模型,这些模型将由我的网关返回。这些模型在我的任何API端点中都没有使用/返回。我想将这些模型添加到Swagger文档架构集合。如果我采用内联方式,我可以成功添加它们。是否有方法将现有模型包括在Swagger架构集合中?
我还想在schemas集合中包含webhook模型和示例,而不需要使用内联选项。
谢谢你的时间。

dbf7pr2w

dbf7pr2w1#

您可以执行下列动作,将模型加入至结构描述集合。
创建自定义文档筛选器

public class CustomDocumentFilter : IDocumentFilter
{
    public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
    {
        context.SchemaGenerator.GenerateSchema(typeof(GWErrorModel), context.SchemaRepository);
    }
}

将其添加到program.cs

builder.Services.AddSwaggerGen(o =>
   {
      o.DocumentFilter<CustomDocumentFilter>();
   });

您将看到该模型被添加到架构集合中。

希望能有所帮助。

相关问题