Open
Description
#I was having issues when submitted data to the backend, the controller was unable to get the message parameter. In order to process requests that have Content-Type: application/json header defined I added the following code on the ApiPostController.php file:
/**
* @Rest\Post("/api/post/create", name="createPost")
* @param Request $request
* @return JsonResponse
* @IsGranted("ROLE_FOO")
*/
public function createAction(Request $request): JsonResponse
{
// Added this in order to handle requests with Content-Type: application/json
if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
$data = json_decode($request->getContent(), true);
$request->request->replace(is_array($data) ? $data : array());
}
$message = $request->request->get('message');
$postEntity = $this->postService->createPost($message);
$data = $this->serializer->serialize($postEntity, 'json');
return new JsonResponse($data, 200, [], true);
}
I don't know if this is the best way to do this, I'm new to Symfony.
BTW, thanks for creating this tutorial / guide was very helpful :)
Metadata
Assignees
Labels
No labels
Activity