Laravel 内置 Route::resource 可以直接创建 restful 风格的接口

阅读目录

工作中难免要写非常多的增删改查的逻辑,Laravel 的查询构造器写起来已经很舒服了,但是仍然避免不了要写大量的重复代码,比如我们要实现一个最基本的用户模块的管理功能,要写增删改查接口。

Laravel内置 Route::resource 可以直接创建 restful 风格的接口,直接针对资源增删改查,非常的语义化,但是实际应用的时候呢,会有下面几个问题:

需要写大量的方法,比如一个增删改查的逻辑,就要实现下面这七个接口。

在这里插入图片描述
resource 方法将遵从 RESTful 架构为用户资源生成路由。该方法接收两个参数,第一个参数为资源名称,第二个参数为控制器名称。

Route::resource('users', 'UsersController');

上面代码将等同于:

Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');

通过HTTP动词来区分行为,前端对接起来也麻烦,PUT,POST,.GET,DELETE,PUT,PATCH等。

不支持批量操作,我要删除一百个用户,
难道我要循环发送DELETE请求 https://xxx.com/api/user/{user_id} 吗?

RESTful Api 没有批量操作的接口。

猜你喜欢

转载自blog.csdn.net/weiguang102/article/details/123854265