В последнее время я пытался создать приложение Symfony, но у меня возникли проблемы с отправкой запроса POST с телом.
Запрос почтальона выглядит так:
я использовал для него параметр form-data
<?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;
}
}
Но переменная $ request пуста
{"attributes": {}, "запрос": {}, "запрос": {}, "сервер": {}, "файлы": {}, "файлы cookie": {}, "заголовки": {}}
И, очевидно, код выдает ошибку из-за этого