繁体   English   中英

使用 GenerateSchema 添加的类出现在 Swagger UI 中,但不在 swagger.json 中

[英]Classes Added Using GenerateSchema Appear in the Swagger UI But Not in swagger.json

我有一个包含控制器和 web api 方法的 Asp.Net Core C# 后端项目。 Swagger 用于测试 web api 方法,并生成 swagger.json - 我们正在基于 swagger.json 为前端使用 nswag studio 生成类定义。

我需要向 swagger.json 显式添加一些额外的类定义。 这些用于未出现在任何 Web api 端点中的类,但我们使用 SignalR 将其发送到我们的前端。

我已经使用 GenerateSchema() 添加了额外的类定义。 这些额外的类定义出现在 Swagger UI (https://localhost:7103/swagger/index.html) 中,但没有出现在 swagger.json 中,原因尚不清楚。 使用 RegisterType() 时我得到相同的结果。

非常感谢能够在 swagger.json 中包含这些定义的任何帮助。

代码如下:

services.AddSwaggerGen(options =>
    {
    ..            
    options.DocumentFilter< AdditionalSchemasDocumentFilter >();
    ..
});

public class AdditionalSchemasDocumentFilter : IDocumentFilter
{
    ..
    context.SchemaGenerator.GenerateSchema(typeof(Notification), context.SchemaRepository);
}

app.UseSwagger();
app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint($"/swagger/v1/swagger.json", "BackOffice API");
    ..
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM