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

相关推荐
小羊没烦恼!7 小时前
Windows Azure Platform体验(1):Windows Azure
java·大数据·后端·python·flask·word·.net
CSharp精选营1 天前
IIS 后面挂 Kestrel,这 3 个配置错了就 502
kestrel·.net·iis配置
鑫 源1 天前
C#源码开源, 获取macOS 电池数据,包括iOS (xamarin开发)
c#·.net·xamarin
xiangcns3 天前
PDMS PiplineTool(三十)一堆小优化+一个彩蛋功能
.net·二次开发·pdms
EatFan3 天前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
CSharp精选营4 天前
.NET 面试必问的 8 道 GC 题,建议收藏
.net·面试题·gc·c#面试题
驰骋工作流5 天前
C#/.NET 开源BPM工作流引擎6大常用对比选型分析驰骋BPM驰骋低代码低代码工作流引擎
开源·c#·.net
淡海水6 天前
02-02-原理篇-分代GC
算法·unity·c#·游戏引擎·.net·gc
1-1=06 天前
.NET 依赖注入 续
.net