Laravel 6.2: $ request-> all () возвращает пустой массив - PullRequest
0 голосов
/ 07 февраля 2020

Я использовал Postman для отправки запроса в моем Laravel Api, и у меня есть пустой массив для возврата. И я не знаю почему?

Мой маршрут:

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

    Route::resource('reservations', '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 голосов
/ 07 февраля 2020

Если вы отправляете PATCH запрос от почтальона, вам нужно отправить его с x-www-form-urlencoded, поскольку Laravel, к сожалению, дает пустой запрос на form-data с PATCH запросом.

Как примечание: вы не можете отправлять файлы с x-www-form-urlencoded, поэтому, если у вас есть файлы в вашем запросе, вы должны отправить POST запрос, используя form-data и _method: PATCH в теле запроса, Laravel автоматически обработает его как PATCH запрос.

...