海
我们正在使用 Asp.Net Core 创建一个带有 Swagger 的 REST 服务。我们将服务托管在这样的 URL 上:
https://www.mywebsite.com/myservice
使用以下代码:
applicationBuilder
.UseSwagger()
.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("../swagger/1.0.0/swagger.json"",title);
c.DisplayRequestDuration();
c.OAuthClientId(clientId);
c.OAuthRealm(redirectUri);
c.OAuthAppName("App");
});
... Swagger-UI 在以下位置正确加载:
https://www.mywebsite.com/myservice/swagger/
但是当我尝试使用 Execute-Button 通过 UI 发出请求时,我得到了 404,因为 UI 尝试在 URL 中没有 /myservice/ 的情况下执行请求:
https://www.mywebsite.com/v1/cars
代替
https://www.mywebsite.com/myservice/v1/cars
如何正确配置服务,以便 Swagger UI 调用也能正常工作?
暗示:
这应该以通用的方式完成(如 UI 的 ../),因为我们会将服务部署在不同的环境中,因此 www.mywebsite.com 在每个环境中都不相同。
谢谢你的帮助!
问候,
彼得