//获取商品详情 A---Route::get('api/:version/product/:id','api/:version.Product/getOne') ; //获取最近新品 B---Route::get('api/:version/product/recent','api/:version.Product/getRecent') ; 同一控制器下的两条路由 把B放在A前面可以正常访问 反之 访问失败
分析:
路由默认是顺序匹配 匹配到A 时 会按照A 的自定义规则校验id参数
此时 访问B 接口 报错信息为A接口 id参数自定义的信息 如 id必须为正整数等
解决方案---路由的变量规则
//获取商品详情 A---Route::get('api/:version/product/:id','api/:version.Product/getOne',[],['id'=>'\d+']) ; 在A路由中 明确参数校验规则
然后在访问B 接口就没问题了