数据库课程作业笔记 - 编写 RESTful 路由
什么是 RESTful
全称 Representational State Transfer 是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Laravel 资源路由
以 photo 为例下面就是 Laravel 中资源路由的规则与命名
动作 | URI | 行为 | 路由名称 |
---|---|---|---|
GET | /photos |
index | photos.index |
GET | /photos/create |
create | photos.create |
POST | /photos |
store | photos.store |
GET | /photos/{photo} |
show | photos.show |
GET | /photos/{photo}/edit |
edit | photos.edit |
PUT/PATCH | /photos/{photo} |
update | photos.update |
DELETE | /photos/{photo} |
destroy | photos.destroy |
相关参考 Laravel 文档 控制器 - 资源路由
这些工作只需要使用Route::resource()
就可以自动生成,还可以自动生成资源控制器,节省很多时间
下面就写下需要的路由
文件 routes\web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
use Illuminate\Support\Facades\Route;
// 首页
Route::get('/', function () {
return view('hw1');
})->name('index');
// 作业一
Route::get('/hw1', function () {
return view('hw1');
})->name('hw1');
// 作业二
Route::get('/hw2', 'HomeWorkController@hw2')->name('hw2');
Route::group(['prefix' => 'hw2'], function () {
Route::resource('employee','EmployeeController',['except' => 'show']);
Route::resource('supplier','SupplierController',['except' => 'show']);
Route::resource('product','ProductController',['except' => 'show']);
Route::resource('customer','CustomerController',['except' => 'show']);
Route::resource('purchase','PurchaseController',['except' => 'show']);
});
这里个过程中只显示了作业二的完成过程,路由第一个参数是资源名称,第二个参数是对应的资源控制器,第三个参数使用
except
来排除不用的路由,这样使用如下命令查看生成的路由
php artisan route:list
可以看到这样就建好了我们需要的全部路由,下面我们完成控制器
本作品采用《CC 协议》,转载必须注明作者和本文链接