问题描述
我使用openapi生成器通过以下命令为ASP.NET Core 3.1生成了服务器存根:
npx @openapitools/openapi-generator-cli generate -i myapi.json -g aspnetcore -o C:\myapi --additional-properties aspnetCoreVersion=3.1
在Visual Studio 2019中打开该项目并运行它之后,我得到了一个醒目的页面,可以在其中尝试不同的端点。到目前为止,很好。
但是:在将其发布到我们的IIS服务器并访问正确的URL后,错误页面就会加载:
未找到:/swagger/1.0.0/openapi.json
可以访问端点本身(GET请求)。
startup.cs中的Swagger端点代码是由open-api生成器生成的默认代码:
app.UseSwagger(c =>
{
c.RouteTemplate = "swagger/{documentName}/openapi.json";
})
.UseSwaggerUI(c =>
{
//TODO: Either use the SwaggerGen generated Swagger contract (generated from C# classes)
c.SwaggerEndpoint("/swagger/1.0.0/openapi.json","Swagger WP RUH Delivery");
//TODO: Or alternatively use the original Swagger contract that's included in the static files
// c.SwaggerEndpoint("/openapi-original.json","Swagger WP RUH Delivery Original");
});
为什么此Swagger页面在我的机器上可以运行,但是在IIS上却出问题了? 我发现了一些有关在startup.cs中更改c.SwaggerEndpoint的提示,但没有任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)