Я новичок в Laravel (4 и 5), а недавно я работаю над RESTful API. Чтобы разрешить несколько версий API, я использую URL для определения версии.
Я читаю этот пост, и большинство людей придерживаются такого подхода: Как организовать различные версии REST API-контроллеров в Laravel 4?
Структуры папок:
/app
/controllers
/Api
/v1
/UserController.php
/v2
/UserController.php
И в файлах UserController.php я правильно установил пространство имен:
namespace Api\v1;
или
namespace Api\v2;
и в маршрутах:
Route::group(['prefix' => 'api/v1'], function () {
Route::get('user', 'Api\v1\[email protected]');
Route::get('user/{id}', 'Api\v1\[email protected]');
});
Route::group(['prefix' => 'api/v2'], function () {
Route::get('user', 'Api\v2\[email protected]');
Route::get('user/{id}', 'Api\v2\[email protected]');
});
URL будет простым http://..../api/v1 для версии 1 и http://..../api/v2 для версии. Это прямо.
Мои вопросы: Что делать, если я создаю небольшое обновление api, скажем v1.1, как мне организовать структуру папок? Я думал, что это так, и должно быть все равно, как точка является действительным именем папок?
/app
/controllers
/Api
/v1
/UserController.php
/v1.1
/UserController.php
/v1.2
/UserController.php
/v2
/UserController.php
Кроме того, , как я должен писать пространство имен? Это пространство имен, подобное этому
namespace Api\v1.1;
Есть ли соглашение об именах, на которое я могу ссылаться для использования "точки"?
Примечание. Я не хочу называть его версией v2, потому что это не серьезное обновление.