如何将另一个项目(获取,发布)API方法引入到api项目?

时间:2019-04-26 07:25:57

标签: c# asp.net-mvc asp.net-core swagger swashbuckle

我已经使用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项目中,它都应显示这两种方法。

1 个答案:

答案 0 :(得分:0)

我使用服务栈摇摇欲坠,而不是swashbuckle。

这解决了我的问题。

这是解决方法。

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