-
Notifications
You must be signed in to change notification settings - Fork 74
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