Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not submit form-data through postman put request

Tags:

php

laravel

lumen

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.

like image 545
Joyner Avatar asked Jul 12 '18 09:07

Joyner


2 Answers

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 any file only have data then you can write you parameter in choose below 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

like image 58
Jatin Kaklotar Avatar answered Nov 15 '22 14:11

Jatin Kaklotar


Example

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

_method = "PUT"

an your controller

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

image example

enter image description here

like image 22
ztvmark Avatar answered Nov 15 '22 15:11

ztvmark