我有两条配置如下的路由
GET /api/store/{store_id}/books
GET /api/store/{store_id}
当对第一个没有{store_id}
参数的URL进行API调用时,例如/api/store//books
,Gorilla会以某种方式向客户端发送301 /api/store/books
。这引起了我的问题,因为它严格匹配了第二条路线。大猩猩会将books
当作{store_id}
参数。
如何在接收到URL中的//
时配置Gorilla以返回404或其他错误代码?
我正在使用Gorilla v1.7.0。
答案 0 :(得分:2)
默认情况下,多路复用器将清除URL。您可以设置router.SkipClean(true)
参数来避免这种情况。
为true时,如果路由路径为“ / path // to”,它将保留双斜杠。如果您使用以下路线,这将很有帮助:/ fetch / http://xkcd.com/534/