Lately I've been trying to make a Symfony application but I've had issues for making a POST request with a Body.
The postman request looks like this
i used the form-data option for it
<?php
namespace App\Controller;
use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Response;
use Psr\Log\LoggerInterface;
class UserController extends AbstractController
{
private $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}
/**
* @Route("/user", name="addUser", methods={"POST"})
*/
public function addUser(Request $request): JsonResponse
{
$data = json_decode($request->getContent(), true);
$this->logger->info("hi");
$this->logger->info(json_encode($request));
$username = $data["username"];
$password = $data["password"];
if (empty($username) || empty($password)) {
throw new NotFoundHttpException('Expecting mandatory parameters!');
}
$this->accountRepository->saveAccount($username, $password );
$response = new JsonResponse(['status' => 'Account created!'], 201);
$response->headers->set('Content-Type', 'application/json');
$response->headers->set('Access-Control-Allow-Origin', '*');
return $response;
}
}
But the $request varirable is empty
{"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}}
And obviously the code runs into an error due to that
Aucun commentaire:
Enregistrer un commentaire