我已经使用中间件UsePathBase("/api/something/else")
设置了我的ASP.NET核心,我的控制器是这样定义的:
[ApiController]
[Route("/[controller]")]
public class WeatherForecastController : ControllerBase
具体的端点定义如下
[HttpGet]
public async Task<IEnumerable<ForecastRecord>> Get()
当我运行应用程序时,我可以像这样访问端点:
/WeatherForecast
/api/something/else/WeatherForecast
当我得到Swagger文档时,我得到了这个:
"servers": [
{
"url": "/api/something/else"
}
],
"paths": {
"/WeatherForecast": {
"get": {
"tags": [
"WeatherForecast"
],
正如你所看到的,servers
元素有一个/api/something/else
的条目,但是当我运行SwaggerUI时,我没有看到前缀为/api/something/else
的端点:
我想知道是否有一种方法可以强制SwaggerUI将端点的前缀值设置为UsePathBase
2条答案
按热度按时间frebpwbc1#
在这里和那里玩了中间件调用的顺序,我找到了解决这个问题中描述的问题的正确组合是:
按照该顺序,Swagger UI将正确显示端点:
ar7v8xwq2#
作为GustavoTM的更新,您需要执行以下操作才能使其立即工作。