.net8 Swashbuckle.AspNetCore WEBAPI 配置要点记录

1. 因Controllers中一个方法缺少 [HttpMethod]特性,导至Swagger报错,报错信息如下:

Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - XXXX.GetXXXXController.幽幽x. Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0

解决办法:

检查所有Action,确保所有Action上面都有正确的[HttpMethod]特性。

或者在AddSwagger的时候设置一下,让Swagger忽略没有[HttpMethod]特性的Action,方法是在在Program.cs文件中把 builder.Services.AddSwaggerGen() 这行代码替换成

builder.Services.AddSwaggerGen(options =>

{

options.DocInclusionPredicate((name, api) => api.HttpMethod != null);

});

2. 允许一个ApiController中出现多个请求方法相同的Action

只需把该ApiController中 路由规则 [Route("api/[controller]")] 替换成 [Route("api/[controller]/[action]")] 即可。

相关推荐
学以智用1 天前
.NET Core 仓储模式(Repository Pattern)完整教程
后端·.net
.NET修仙日记1 天前
.NET EFCore批量插入性能优化实战:30秒 → 0.5秒
性能优化·c#·.net·.netcore·微软技术·efcore·踩坑实录
步步为营DotNet1 天前
深挖.NET 11:.NET Aspire 在云原生应用状态管理的创新与实践
云原生·.net·wpf
我是唐青枫1 天前
C#.NET YARP 跨域配置详解:网关统一处理 CORS
开发语言·c#·.net
唐青枫2 天前
C#.NET YARP 跨域配置详解:网关统一处理 CORS
c#·.net
rockey6273 天前
AScript如何实现LINQ语法
sql·c#·.net·linq·script·eval·expression
喵叔哟3 天前
11.【.NET10 实战--孢子记账--产品智能化】--接入第三方平台
.net·openai
用户8291807154753 天前
dotnet基础开发之-Redis分布式锁
.net
步步为营DotNet3 天前
解锁.NET 11 新能:C# 14 在客户端安全编程的革新与实践
人工智能·microsoft·.net
步步为营DotNet3 天前
深入.NET 11:ASP.NET Core 10 高并发场景下的性能调优与安全加固
人工智能·microsoft·.net