Symfony 4 - отправляет POST-запрос с multipart / form-data - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу отправить запрос POST для регистрации моих пользователей, но я не хочу вводить свой логин и пароль в URL, например this . Я хотел использовать формат multipart / form-data, чтобы посылать мои аргументы, как если бы они были в форме, например that .

Знаете, как я могу это сделать?

Заранее спасибо! ^^

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Хорошо, я использовал $ request-> request-> get () для извлечения моих значений, например:

$entityManager = $this->getDoctrine()->getManager();

$user = new User();
$user->setLogin($request->request->get('login'));
$user->setPassword($request->request->get('password'));
$entityManager->persist($user);
$entityManager->flush();

И затем я сериализую свои значения в объекте JSON, он работает отлично ^^ Спасибоза помощь! ^^

0 голосов
/ 08 ноября 2019

Если вы хотите сделать POST-запрос к некоторому URL с некоторыми данными, я предлагаю кодировать данные в формате json.
См. json_encode или Symfony serializer или jms_serializer .
Или, если хотите, вы можете отправить URL-кодированные данные, используя http_build_query .
Просто не забудьте отправить правильный заголовок Content-type, application/json или application/x-www-form-urlencoded.
И чтобы выполнить запрос, рассмотрите возможность использования Guzzle или cURL .

Я понимаю, что только что предоставил вам официальную документацию по связанным материалам, но я не до конца понял ваш вопрос, поэтому я попытался дать вам общие указания, чтобы вы могли исследовать. Есть хорошие примеры некоторых функций, которые, я полагаю, вам понадобятся для этого.

Предполагается, что у вас есть URL-адрес для выполнения запроса:

  1. собрать данные для публикации
  2. сериализовать собранные данные
  3. выполнить запрос к URL с сериализованными данными
  4. проанализировать тело ответа
  5. продолжить выполнение вашей логики

В случае, если это не то, что вы искали, предоставьте больше контекста, какой-то код, который у вас есть (не делитесь конфиденциальными данными), или что-то еще, чтобы вы могли получить более точные ответы. Я надеюсь, что мне удалось помочь. Не стесняйтесь задавать больше вопросов.

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