【发布时间】:2017-03-24 07:02:40
【问题描述】:
实现 API Rest 服务我面临 url 签名中如何/在何处传递 API 版本的问题。
通过阅读,我决定通过类似的版本
http://mydomainservice.tld/api/version/entity...
关于将版本视为可选并解析引用为最新 API 版本的请求,这将是意图:
http://mydomainservice.tld/version/entity...
问题不在于如何在 API REST 中管理/安排版本控制,而是更多是否有机会实现路由规则以在 URI 中添加可选参数:
这是有效的:
Route::group(['prefix' => 'api/'], function(){
Route::get('{v}/subscribers', 'APIRequestController@show');
Route::get('subscribers', 'APIRequestController@show);
});
对于这两个调用,例如:
http://mydomain.tld/api/subscribers http://mydomain.tld/api/1/subscribers
但我想用一条规则解决它:
Route::get('{v?}/subscribers', 'APIRequestController@show');
但是,如果我尝试通过以下请求与您联系,则第二条规则本身将不起作用:
【问题讨论】: