Я новичок в Laravel (4 и 5), а недавно я работаю над RESTful API. Чтобы разрешить несколько версий API, я использую URL для определения версии.Laravel RESTful API versioning design
Я прочитал этот пост следовать, и это, кажется, что большинство людей после этого подхода: How to organize different versioned REST API controllers in 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 для версии. Это прямолинейно.
Мои вопросы: Что делать, если я строю незначительные обновления АФИ, скажем, v1.1, как я организую свою структуру папок? Я думал, что это так, и должно быть все равно, как точка является действительным именем папок?
/app
/controllers
/Api
/v1
/UserController.php
/v1.1
/UserController.php
/v1.2
/UserController.php
/v2
/UserController.php
Кроме того, как я должен писать пространство имен? Это не пространство имен, как этот
namespace Api\v1.1;
Есть ли именование я могу сослаться на использование «точки»?
Примечание: Я не хочу называть его версией v2, потому что это не серьезное обновление.
привет сопламен, ваш взгляд отличается от арийязов. вы имеете в виду, что он должен быть v2 вместо v1.1 и не вносить какие-либо изменения в существующие коды v1? –
Спасибо за ответ! Я отредактировал ответ. Надеюсь, я немного уточнил. – nozzleman
Я также изучаю реализацию версий API. Если при использовании этой версии для версий v1, v2 и т. Д. Возникнут какие-либо проблемы при запуске композитора, а также дамп автозагрузки? – JBMcClure