-
Notifications
You must be signed in to change notification settings - Fork 66
Route
Zewail edited this page Sep 11, 2018
·
1 revision
如果你使用了自定义路由,则可以使用路由版本管理
使用think-api的版本管理方法来创建版本
$api = new \Zewail\Api\Routing\Router; $api->version('v1', function () { // TODO 可以是thinkphp自带的路由 });
或者使用门面(Facede)
use Zewail\Api\Facades\ApiRoute; ApiRoute::version('v1', function(){ // TODO 可以是thinkphp自带的路由 });
你想一个分组返回多个版本,只需要传递一个版本数组
ApiRoute::version(['v1', 'v2'], function () { // TODO 可以是thinkphp自带的路由 });
ApiRoute::version('v1', function(){ Route::rule('new/:id','index/News/read'); });
因为每个版本分组了,你可以为相同 URL 上的同一个路由创建不同响应
ApiRoute::version('v1', function () { Route::rule('new/:id','app\index\controller\V2\News@read'); // 或者 Route::rule('new/:id','index/V2.News/read'); }); ApiRoute::version('v2', function () { Route::rule('new/:id','app\index\controller\V2\News@read'); });
默认访问配置文件中的默认版本
但是,我们可以在Http的头信息中附带Api-Version参数,或者直接在在url或body中附带version参数来访问指定版本
http://example.com/new/102?version=v2