Azure devops 部署时未能加载API定义获取错误,但在本地主机上没有问题
我正在将我的api从netcore2.1升级到3.1 当我在本地主机上运行时,UI工作正常 当我通过Azure DevOps部署并转到我得到的myapplication/myapi/swagger.html url时Azure devops 部署时未能加载API定义获取错误,但在本地主机上没有问题,azure-devops,swagger,swagger-ui,Azure Devops,Swagger,Swagger Ui,我正在将我的api从netcore2.1升级到3.1 当我在本地主机上运行时,UI工作正常 当我通过Azure DevOps部署并转到我得到的myapplication/myapi/swagger.html url时 Failed to load API definition Fetch Error Service Unavailable /myapi/swagger/v1/swagger/json 然而,我可以在下面看到json myapplication/myapi/swagger/v1
Failed to load API definition
Fetch Error
Service Unavailable /myapi/swagger/v1/swagger/json
然而,我可以在下面看到json
myapplication/myapi/swagger/v1/swagger.json
我有以下几点
public static IApplicationBuilder UseSwaggerDocumentation(this IApplicationBuilder app)
{
app.UseSwagger(c =>
c.RouteTemplate = "myapi/swagger/{documentName}/swagger.json"
);
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/myapi/swagger/v1/swagger.json", "Versioned API v1.0");
c.RoutePrefix = "myapi/swagger";
});
return app;
}
我正在使用
Swashbuckle.AspNetCore (5.2.0)
我发现以下方法有效
public static IApplicationBuilder UseSwaggerDocumentation(this IApplicationBuilder app)
{
app.UseSwagger(c =>
c.RouteTemplate = "myapi/{documentName}/swagger.json"
);
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("./v1/swagger.json", "Versioned API v1.0");
c.RoutePrefix = "myapi";
});
return app;
}
国家
如果将目录与IIS或反向代理一起使用,请设置招摇过市
端点到使用./prefix的相对路径。例如
./swagger/v1/swagger.json。使用/swagger/v1/swagger.json指示
在URL的真正根位置查找JSON文件的应用程序(加上
路由前缀(如果使用)。例如,使用
://改为swagger/v1/swagger.json
属于
:///swagger/v1/swagger.json
然而不幸的是,我的解决方案不能与自动测试一起工作。
因此我问我在某个地方读到,iis Express的行为与iis 8.5不同,我感觉自己好像在与章鱼搏斗。一旦我有了工作,其他事情就会失败。因此,我不想将此标记为刚刚回答,我请求了更多的帮助