php – Laravel RESTful API版本设计
我是Laravel的新手(4和5),最近我正在使用一个RESTful API.
为了允许多个版本的API,我使用URL来确定版本. 我阅读了这篇文章,似乎大多数人遵循这种方法: 文件夹结构: /app /controllers /Api /v1 /UserController.php /v2 /UserController.php 在UserController.php文件中,我相应地设置命名空间: namespace Apiv1; 要么 namespace Apiv2; 和路线: Route::group(['prefix' => 'api/v1'],function () { Route::get('user','Apiv1UserController@index'); Route::get('user/{id}','Apiv1UserController@show'); }); Route::group(['prefix' => 'api/v2'],'Apiv2UserController@index'); Route::get('user/{id}','Apiv2UserController@show'); }); URL将是简单的http://…./api/v1版本1和http://…./api/v2版本.这是直接的. 我的问题是: /app /controllers /Api /v1 /UserController.php /v1.1 /UserController.php /v1.2 /UserController.php /v2 /UserController.php 另外,我该怎么写命名空间?这不是这样的命名空间 namespace Apiv1.1; 有可以参考使用“点”的命名约定吗? 注意:我不想将其称为版本v2,因为这不是一个主要的升级.
IMO,小型升级不应该发布对API的更改.所以我的建议是坚持使用整数版本的API.增强功能没有问题,但是现有的端点应该照常运行.
这样您的API版本将与路由前缀和命名空间以及测试同步. 例 >从v1.0开始 请注意,您当然可以在内部跟踪次要版本(例如SCM),但是开发人员不需要更改所有的API通话,只是为了从您发布的那个小错误中受益.无论如何,当然,如果您通知客户更新的次要版本及其提供的修补程序或增强功能(博客,通讯,…) 让我补充一下,我不知道使用小的API-URL-prefix的RESTful API,所以我猜这是一个很常见的做法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |