Справочная информация:
Я пишу RESTful API для Symfony. Я хочу, чтобы клиент мог публиковать URL-адреса с использованием типа содержимого application / json и публиковать объект json формы, которую ищет действие контроллера.
Я использую довольно простую настройку контроллера для этого. Предположим в демонстрационных целях, что я пытаюсь аутентифицировать комбо простого имени пользователя и пароля.
public function loginAction( Request $request )
{
$user = new ApiUser();
$form = $this->createForm(new ApiUserType(), $user);
if ( "POST" == $request->getMethod() ) {
$form->bindRequest($request);
if ( $form->isValid() ) {
$em = $this->getDoctrine()->getEntityManager();
$repo = $this->getDoctrine()->getRepository('ApiBundle:ApiUser');
$userData = $repo->findOneByUsername($user->getUsername());
if ( is_object($userData) ) {
/** do stuff for authenticating **/
}
else{
return new Response(json_encode(array('error'=>'no user by that username found')));
}
else{
return new Response(json_encode(array('error'=>'invalid form')));
}
}
}
Теперь проблема, с которой я столкнулся, и пытался ли я использовать var_dumping до тех пор, пока коровы не вернутся домой, заключается в том, что по какой-либо причине symfony не хочет брать тело содержимого application / json и использовать эти данные для заполнения формы данные.
Имя формы: api_apiuser
Поля: имя пользователя, пароль
Как лучше всего справиться с заданием такого типа. Я открыт для предложений, пока я могу заставить это работать. Спасибо, что уделили время.