首页 > 解决方案 > 如何将另一个项目(get,post)api方法引入swagger api项目?

问题描述

我用 asp.net 核心创建了一个 API 项目,在其中我使用swashbuckle.AspNetCore.dll来生成招摇。

它运行良好并且进展顺利。

现在我有另一个 C#(.NET 标准库),我在其中创建了一些 GET、POST、DELETE、PUT 方法。

需要将所有这些方法加载到 swagger API 项目中。

我试图在我的项目中使用那个单独的 C# 库(.dll),但它没有加载到招摇。

在 Startup.cs 文件的配置服务方法中添加了这一行:

services.AddSwaggerGen(c => {
    c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
    c.AddSecurityDefinition("Bearer", new ApiKeyScheme {
                In = "header", Description = "Please enter JWT with Bearer into field",
                Name = "Authorization", Type = "apiKey"
        });
    c.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>> {
        { "Bearer", Enumerable.Empty<string>() },
    });
});

在 startup.cs 文件的 Configure 方法中添加了这一行:

app.UseSwagger();

// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), 
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = string.Empty;
});

它用 swagger 项目方法显示 swagger。无论是在单独的库中还是在项目本身中,它都应该显示这两种方法。

标签: c#asp.net-mvcasp.net-coreswaggerswashbuckle

解决方案


我使用了服务堆栈招摇而不是 swashbuckle。

它解决了我的问题。

这是解决方案。

https://forums.servicestack.net/t/guidance-on-enabling-oauth-2-0-in-generated-swagger-docs/3995/18


推荐阅读