我知道有一种方法可以为带有路由的 REST API 创建版本化 URL,但是组织 Controller 和 Controller 文件的最佳方法是什么?我希望能够创建新版本的 API,并让旧版本至少运行一段时间。
最佳答案
我最终使用了 app/controllers 下的命名空间和目录:
/app
/controllers
/Api
/v1
/UserController.php
/v2
/UserController.php
在 UserController.php 文件中,我相应地设置了命名空间:
namespace Api\v1;
或
namespace Api\v2;
然后在我的 route 我做了这样的事情:
Route::group(['prefix' => 'api/v1'], function () {
Route::get('user', 'Api\v1\UserController@index');
Route::get('user/{id}', 'Api\v1\UserController@show');
});
Route::group(['prefix' => 'api/v2'], function () {
Route::get('user', 'Api\v2\UserController@index');
Route::get('user/{id}', 'Api\v2\UserController@show');
});
我不确定这是最好的解决方案。但是,它允许以不相互干扰的方式对 Controller 进行版本控制。如果需要,您可能可以对模型进行类似的验证。
关于php - 如何在 Laravel 4 中组织不同版本的 REST API Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16501010/