我有一个asp .net核心控制台项目,它使用ApplicationPart加载API程序集 . 我需要添加swagger以暴露API,但是当我将Swashbuckle安装到控制台项目并在启动类中配置Swagger时,如果我导航到swagger ui,则无法找到任何内容 . 它返回401错误 .
在ConfigureServices方法中:
services.AddMvc
.AddApplicationPart(WebApi.GetAssembly()).AddControllersAsServices();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1"});
});
在Configure方法中:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
我可以很好地调用控制器上的动作,但似乎Swashbuckle没有为它生成任何Swagger . 我错过了什么或者它还没有支持吗?任何建议将不胜感激!
2 回答
我将Nswag用于我的所有项目 . 我对Swashbuckle没有多少经验,但它们都有类似的用途 . 我正在提供一种配置Nswag的方法 .
将NSwag.AspNetCore nuget包添加到您的项目中,并在启动类中添加以下代码:
虽然我没有使用Swagger,但在我的上下文中我遇到了类似的问题,所以我确保手动加载控制器:
在init中,控制器可以正确添加和初始化