.NET Core WebApplication如何配置通配符映射处理所有请求与路径
配置匹配所有HTTP方法和路径的请求映射
要实现所有HTTP方法(GET、POST、PUT等)和所有路径都指向同一个处理方法,你需要结合catch-all路由模式和显式指定所有允许的HTTP方法,具体配置如下:
var application = WebApplication.Create(); application.Map("{**path}", () => "This is all I do!") .WithMethods("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"); application.Run("http://localhost:8080");
关键说明:
{**path}是ASP.NET Core的catch-all路由模式,**会捕获URL中从当前位置开始的所有剩余路径片段,不管层级深浅,能匹配任意路径。- 默认情况下,
Map方法只绑定GET请求,所以必须通过WithMethods显式列出所有需要支持的HTTP方法,确保各类请求都能触发处理逻辑。
你之前尝试的"/"、""、"/"、"/**"都不符合路由规则:
- "/"仅匹配根路径;
- ""和"/"不是有效的catch-all语法,无法正确捕获多层级路径;
- "/**"单独使用不被路由系统识别,必须结合路由参数格式
{**path}才能生效。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

