报错:Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - WebApplication2.Controllers.CustomQueryBuilderController.Invoke (WebApplication2). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0
原因是有些Action上没有[HttpMethod]特性,比如[HttpGet]、[HttpPost]这些,所以Swagger就不知道这个Action该以哪种方式访问。
解决办法:
要么自己检查一下所有Action,确保所有Action上面都有正确的[HttpMethod]特性。
要么在AddSwagger的时候设置一下,忽略没有[HttpMethod]特性的Action,这些Action就不会在Swagger文档上出现。
builder.Services.AddSwaggerGen(options =>
{
options.DocInclusionPredicate((name, api) => api.HttpMethod != null);
});