Laravel 6.2:$ request-> all()返回一个空数组

时间:2020-02-07 15:49:41

标签: json ajax laravel request laravel-6.2

我使用邮差在我的Laravel Api中发送请求,并且我有一个空数组要返回。而且我不知道为什么吗?

我的路线:

Route::middleware('auth:api')->group( function () {

    Route::resource('reservations', 'ReservationController');
});

我的ReservationController:

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests\ReservationCreateRequest;
use App\Repositories\ReservationRepository;
use App\Http\Resources\Reservation as ReservationResource;

class ReservationController extends BaseController
{

    protected $entrepriseRepository;

    public function __construct(ReservationRepository $reservationRepository)
    {
        $this->reservationRepository = $reservationRepository;
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $reservation = $this->reservationRepository->getById($id);

        return $this->sendResponse(new ReservationResource($reservation), 'Reservation');
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  Illuminate\Http\Request $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $inputs = $request->all();

        if (!$reservation = $this->reservationRepository->update($id, $inputs))
         {
         return $this->sendError('Impossible de mettre à jour', $request->errors(), 400);
        }

        return $this->sendResponse(new ReservationResource($reservation), 'Reservation mise à jour avec succès !' , 200);
    }
}

如果我仅返回

return response($request->all());

我有一个空数组...

方法

show($id)

工作正常...

有人建议吗?

1 个答案:

答案 0 :(得分:1)

如果您要从邮递员发送PATCH请求,则需要与x-www-form-urlencoded发送请求,因为Laravel不幸地向form-data发送了PATCH请求。

请注意,您不能使用x-www-form-urlencoded发送文件,因此,如果请求中包含文件,则应使用POST和{{1}发送form-data请求}的请求正文中,Laravel会自动将其视为_method: PATCH请求。