Joyner
Joyner

Reputation: 312

Could not submit form-data through postman put request

I m using lumen api 5.6. This is my route $router->PUT('collections/{collectionId}' In postman i m calling this api like this. enter image description here

and this is the body of that request enter image description here

See here i have CollectioPoints here but its failing in validation. the data i m sending through formdata is not able to recognized in validation.

But if i send the route from put to post [$router->POST('collections/{collectionId}'], all the data i m sending through form data are recognized and i m getting correct response as below enter image description here

Why this is happening. Cant i send form data through put request? Thaank you.

Upvotes: 8

Views: 22256

Answers (2)

Jatin Kaklotar
Jatin Kaklotar

Reputation: 505

Laravel(Lumen) cheats because html forms only support GET and POST, but it does understand a real PUT/PATCH request.

In Postman You should send POST and set _method to PUT (same as sending forms) to make your data and files visible

 _method = "PUT"

Or

If you don't have a file and only have data, you can write your argument in the following option in Postman.

 x-www-form-urlencode 

Or

You want use PUT method for send Data with form-Data option you should use stuff like this https://gist.github.com/devmycloud/df28012101fbc55d8de1737762b70348

enter image description here

Upvotes: 25

ztvmark
ztvmark

Reputation: 1448

Example

Headers: Content-Type application/x-www-form-urlencoded

_method = "PUT"

an your controller

return $request->file('avatar');

image example

enter image description here

Upvotes: 8

Related Questions