我有一堆带有一些端点的控制器,它们在swagger中都没问题。然后我意识到这些控制器不是使用Web API 2,而是使用MVC。
类的声明形式为:
[Apicontroller]
public class myController : ControllerBase...
[HttpGet("routeName")
public async Task<IActionResult> .....
我把它们改成:
[RoutePrefix("[my]")]
public class myController : ApiController
[HttpGet]
[Route("myroute")]
public async Task<IHttpActionResult>......
而现在这些方法并没有出现在 Swagger 中。
Swagger在我的program.cs文件中声明:
.....
builder.Services.AddSwaggerGen();
.....
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.MapControllers();
有人知道为什么swagger不再接收我的端点了吗?
1条答案
按热度按时间mwkjh3gx1#
1.确保你是在开发模式下运行的。如果你是发布到生产模式,则环境将是生产模式
1.转到swagger/v1/swagger.json您的网站,并检查是否有任何错误。