6
votes

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.

2
try add to headers Content-Type:multipart/form-dataJ. Doe
i tried @J.Doe its also not workingJoyner

2 Answers

14
votes

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

2
votes

Example

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

_method = "PUT"

an your controller

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

image example

enter image description here