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

Posted willem_wg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 没有批量操作的接口。

以上是关于Laravel 内置 Route::resource 可以直接创建 restful 风格的接口的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.5 内置鉴权特征库查询位置

laravel 5.5 内置鉴权数据库表参考位置

Laravel 更换内置服务器监听端口

PhpStorm 内置服务器:找不到类“路由”(Laravel)

将 laravel 5 内置身份验证扩展为仅登录“如果用户 == 活动”

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