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 风格的接口的主要内容,如果未能解决你的问题,请参考以下文章
PhpStorm 内置服务器:找不到类“路由”(Laravel)