【发布时间】:2021-02-08 11:13:50
【问题描述】:
我使用 Laravel 8 和 Resource 在我的控制器中的 api.php 和 DestroyProductRequest 中定义路由:
Route::resources([
'product' => ProductController::class,
]);
在控制器中:
public function destroy(DestroyProductRequest $request, Product $product) {
$product->delete();
return Response::HTTP_OK;
}
在 DestroyProductRequest.php 中:
public function rules() {
return [
'id' => 'required|integer|exists:products,id',
];
}
现在的关键是 Route::resource 将传入的 id 从 url 转换为模型。但是现在如何在rules()函数中写出正确的规则呢?
现在它在错误响应中是 id: ["The id field is required."]。
有什么想法吗?
【问题讨论】:
-
只需在api.php中:
php Route::group(['middleware' => 'auth:api'], function () { Route::resources([ 'product' => ProductController::class, ]); -
从浏览器我向
{{domain}}/api/product/1url 发送一个DELETE HTTP 请求 -
好的,我明白了,但是解决办法是什么?
标签: php laravel laravel-routing laravel-validation