laravel route PATCH multipart 데이터 처리하는 방법

Updated on

laravel route 에서 PATCH로 설정하고 사용하는 경우가 있다.

그런데, PATCH인 경우에는 multipart 데이터를 받아서 처리할 수가 없다.

$this->request, $this->file이 빈 배열로 되어 있기 때문이다.

       $response = $this->client->request('POST', "servies/{$id}", [
            'multipart' => makeMultipart($params),
            'headers' => [
                'X-HTTP-Method-Override' => 'PATCH'
            ]
        ]);

그래서 처리하기 위해서는 위 처럼 POST 타입으로 전송하되, header 추가 헤더가 필요하다.

            'headers' => [
                'X-HTTP-Method-Override' => 'PATCH'
            ]

POST 타입으로 전송하고, headers 에서 PATCH 값을 설정해주면 laravel 에서는 multipart 데이터를 수신할 수 있고, route PATCH 에서도 처리할 수 있게 된다.