如何解决无法为.NET CORE 3中的醒目的UI设置自定义URL
我正在使用.NET CORE 3.1 Web应用程序,并且安装程序过于灵活(Swashbuckle)。我正在尝试将swagger UI URL定制为/abc/swagger
,以下是我正在尝试的配置-
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json","My API V1");
c.RoutePrefix = "abc";
});
但是我收到此错误-
,该用户界面仅在/abc
上有效,而在/abc/swagger
上无效。我迷路了,因为这与我尝试遵循的doc不符。
有人可以帮我为招摇的用户界面(TIA)设置自定义路线吗?
尝试了此https://stackoverflow.com/a/55732702/1182982,但对我没有用,URL返回404。
解决方法
在Startup.Configure
中,您需要定义两个端点,即OpenAPI定义和swagger ui。 Swagger UI使用OpenAPI来准备IHM。
public void Configure(IApplicationBuilder app,IHostingEnvironment env)
{
...
// Define the OpenAPI definition endpoint
app.UseSwagger(c =>
{
c.RouteTemplate = "/abc/swagger.json";
});
// Define the IHM endpoint
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("swagger.json","My API V1");
c.RoutePrefix = "abc";
});
}
您已经正确配置了UI端点,但是我想您缺少配置OpenAPI定义端点的部分。您可以通过打开导航器页面上的URL localhost:5001/abc/swagger.json
进行检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。