简体   繁体   English

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

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

I have an Asp.Net Core C# back end project containing controllers and web api methods.我有一个包含控制器和 web api 方法的 Asp.Net Core C# 后端项目。 Swagger is used to test the web api methods, and to generate swagger.json - we are generating class definitions for the front end to use using nswag studio, based on swagger.json. Swagger 用于测试 web api 方法,并生成 swagger.json - 我们正在基于 swagger.json 为前端使用 nswag studio 生成类定义。

I need to add explicitly add some additional class definition to swagger.json.我需要向 swagger.json 显式添加一些额外的类定义。 These are for classes which do not appear in any web api endpoints, but which we send to our front end using SignalR.这些用于未出现在任何 Web api 端点中的类,但我们使用 SignalR 将其发送到我们的前端。

I have added the additional class definitions using GenerateSchema().我已经使用 GenerateSchema() 添加了额外的类定义。 These additional class definitions appear in the Swagger UI (https://localhost:7103/swagger/index.html), but do not appear in swagger.json, for reasons which are unclear.这些额外的类定义出现在 Swagger UI (https://localhost:7103/swagger/index.html) 中,但没有出现在 swagger.json 中,原因尚不清楚。 I get the same results when using RegisterType().使用 RegisterType() 时我得到相同的结果。

Any help on being able to include these definitions in swagger.json would be greatly appreciated.非常感谢能够在 swagger.json 中包含这些定义的任何帮助。

The code is as follows:代码如下:

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.

相关问题 显示 Swagger.json 但 UI 不显示 - Swagger.json is displayed but the UI not Swagger 不生成 swagger.json - Swagger is not generating swagger.json Swagger 'swagger.json' 加载,但在 AspNet 项目中的 swagger UI '{localhost}/swagger' 上出现 404 错误 - Swagger 'swagger.json' loads, but 404 error on swagger UI '{localhost}/swagger' in AspNet project SWAGGER UI 不显示 - Swagger.json 在 .NET Core 上显示 - SWAGGER UI does not show up - Swagger.json does on .NET Core 使用 Swashbuckle Aspnetcore 将 `host`、`basePath` 和 `schemes` 添加到 swagger.json - Add `host`, `basePath` and `schemes` to swagger.json using Swashbuckle Aspnetcore 当本地主机提供 swagger.json 时,Autorest 无法针对文件解析 swagger.json - Autorest Failed resolving swagger.json against file when swagger.json is served by localhost Blazor Swagger:无法加载 API 定义。 获取错误:未定义 /swagger/v1/swagger.json - Blazor Swagger: Failed to load API definition. Fetch error: undefined /swagger/v1/swagger.json 如何按控制器名称对 NSwag swagger.json 中的路径进行排序/排序 - How to order/sort paths in NSwag swagger.json by controller name 我没有在 swagger.json 中得到方法描述 - I'm not getting a method description in swagger.json Generating C# Rest API Client from swagger.json - Generating C# Rest API Client from swagger.json
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM