У меня есть общий проект Larvel 8 с такими кодами:
В файле routes / api.php:
Route::resources([
'menu/menu' => Menu\MenuController::class,
]);
В файле app / Http / Controllers / Menu / MenuController.php:
public function destroy(DestroyMenuRequest $request, Menu $menu) {
$menu->delete();
return Response::HTTP_OK;
}
В файле DestroyMenuRequest.php:
class DestroyMenuRequest extends FormRequest {
public function authorize() {
return $this->user()->can('destroy.menu');
}
public function rules() {
return [
'id' => 'required|integer|exists:menus,id',
];
}
}
Затем я отправляю DELETE
HTTP-запрос на URL {{domain}}/api/menu/menu/2
и получаю в ответ следующее:
В заголовке 422 (Необработанная запись) и в теле:
{
"message": "The given data was invalid.",
"errors": {
"id": [
"The id field is required."
]
}
}
Если я перечисляю маршруты с php artisan r:l
, я вижу маршрут с правильным контроллером:
DELETE | api/menu/menu/{menu} | menu.destroy | App\Http\Controllers\Menu\MenuController@destroy | api auth:api
Есть идеи, какое решение?
Спасибо!
rules()
в этом случае? - person netdjw   schedule 22.10.2020