.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]")] 即可。

相关推荐
唐青枫14 小时前
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
c#·.net
会写代码的建筑师15 小时前
.NET 控制台后台程序实践细节总结
后端·.net
阿捞216 小时前
在 .NET 中使用 Moonshot Kimi + AgentFramework:从 SDK 到 Agent 的完整实践
html·.net·xhtml
步步为营DotNet17 小时前
解锁.NET 11 中 Microsoft.Extensions.AI 在智能后端开发的深度应用
人工智能·microsoft·.net
无风听海17 小时前
.NET10之C# 中的is null深入理解
服务器·c#·.net
bjzhang7517 小时前
FastReport——一个面向.NET生态的开源报表引擎
.net·fastreport
曲幽17 小时前
告别手写 API 胶水代码:FastAPI 与 Vue 的“契约自动机” OpenAPI 实战
python·typescript·vue·fastapi·web·swagger·openapi·codegen
武藤一雄1 天前
C# 异常(Exception)处理避坑指南
windows·microsoft·c#·.net·.netcore·鲁棒性
步步为营DotNet1 天前
剖析.NET 11 中 Native AOT 在高性能客户端应用的极致实践
.net
步步为营DotNet1 天前
深度探索.NET Aspire在云原生应用性能与安全加固的创新实践
安全·云原生·.net