Go 1.22 中 http.ServeMux 路由匹配的坑:为什么你的 /api/ 会吃掉 /api/users
Go 标准库的 http.ServeMux 在 1.22 版本做了不小的改动,引入了模式匹配和方法匹配,但很多人升级后发现原本正常的路由行为变了。最典型的是注册了 /api/ 之后,/api/users 的请求被 /api/ 的 handler 接走了,哪怕你也注册了 /api/users。这个问题在 REST 接口里很常见,尤其是手写路由不想引入第三方框架的时候。根本原因是 ServeMux 的匹配优先级规则:以 / 结尾的模式确实会匹配子路径,但新版本里更具体的模式应该胜出,可如果你把 /api/ 注册...