Как сохранить данные из Почтальона в Symfony? - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь отправить данные из Почтальона в эту функцию

    public function new(Request $request): Response
    {

      $tag = new Tag();
      $form = $this->createForm(TagType::class, $tag);
      $form->submit($request->request->all());

      if ($form->isValid()) {
          $entityManager = $this->getDoctrine()->getManager();
          $entityManager->persist($tag);
          $entityManager->flush();
          $message = "Tag was successfully added";
          return new JsonResponse(array("message: $message"));
      }
      $errors = $form->getErrors();
      return new JsonResponse(array("message:$errors"));

    }

Если я отправляю данные как 'form-data', я могу сохранить их в базе данных.Но я не могу понять, как принять «необработанное» приложение Json / json '

. Я могу только вручную получить значение из запроса с помощью

$tagTitle = $request->query->get('title');

И я не могу сделать это с помощьюнекоторые FOSUserBundle и т. д. Я могу использовать только jms / serializer.Если мне это понадобится.

1 Ответ

0 голосов
/ 22 сентября 2018

Сначала нужно получить json из $request->getContent():

public function new(Request $request): Response
{

  $tag = new Tag();
  $form = $this->createForm(TagType::class, $tag);
  $form->submit(json_decode($request->getContent(), true));

  if ($form->isValid()) {
      $entityManager = $this->getDoctrine()->getManager();
      $entityManager->persist($tag);
      $entityManager->flush();
      $message = "Tag was successfully added";
      return new JsonResponse(array("message: $message"));
  }
  $errors = $form->getErrors();
  return new JsonResponse(array("message:$errors"));

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...