FOSRestbundle을 사용하여 나머지 API를 구현하고 있습니다. 지금은 제대로 같은 요청 매개 변수를 받고 있어요 POST 요청에 대해 말 :양식 바인딩이 symfony 2.1 + FOSRestBundle 양식에 바인딩 요청이 아닙니다.
/**
* @Rest\View
*/
public function newAction(){
$rank= new Rank();
$form = $this->createForm(new RankType(), $rank);
$form->bind($this->getRequest());
if ($form->isValid()) {
//. $user->flush();
$em = $this->getDoctrine()->getManager();
$em->persist($rank);
$em->flush();
$response = new Response();
$response->setStatusCode($statusCode);
$view = View::create()
->setData($rank)
->setFormat('json');
return $this->handleView($view);
}
return $this->handleView(View::create($form, 400));
}
하지만 인해 형성 null 값을 설정하는 form->isValid
실패
Symfony\Component\HttpFoundation\ParameterBag Object
(
[parameters:protected] => Array
(
[rank] => 12
[city] => 1345
[comment]=> 'safd'
)
)
내 포스트 액션 코드입니다.
After Binding form form->getData() will display :
MyProject\DataBundle\Entity\Rank Object
(
[city:MyProject\DataBundle\Entity\Ranking:private] =>
[rank:MyProject\DataBundle\Entity\Ranking:private] =>
[comment:MyProject\DataBundle\Entity\Ranking:private] =>
)
RankType 코드 :
class RankType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('rank');
$builder->add('city');
$builder->add('comment');
}
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Myporject\DataBundle\Entity\rank',
'csrf_protection' => false,
));
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'rank';
}
}
검증이 도시 순위와 같은 오류가
어떤 제안 이유 $form->bind
하지 바인딩 값이 널 안 던질 것인가?
이 양식 클래스 RankType을 게시 도움이되기를 바랍니다
작동합니다()하시기 바랍니다. –
RankType()을 추가했습니다. – stefun