2016-09-12 2 views
2

나는 FOSRestBundle의 도움을 받아 Symfony3로 작성된 REST API를 가지고있다.Symfony 양식에서 단일 필드를 사용하는 방법은 무엇입니까?

데이터 입력 (POST, PATCH, PUT 동작)을위한 Symfony 폼 클래스를 사용하며, 거의 모든 엔드 포인트에 적합합니다.

그러나 하나의 collectionType이있는 양식을 사용하여 관계를 설정하는 하위 끝점이 있습니다. POST 요청 본문은 다음과 같습니다

나는이 정보가 URI에 이미 여기에 중복 보인다 "관련"필드 이름을 ommit 싶습니다 그러나
curl http://localhost/documents/100/related -d @- <<REQUEST_BODY 
{ 
    "related": [ 
    {"id": 14}, 
    {"id": 23} 
    ] 
} 
REQUEST_BODY 

.

curl http://localhost/documents/100/related -d @- <<REQUEST_BODY 
[ 
    {"id": 14}, 
    {"id": 23} 
] 
REQUEST_BODY 

을하지만이 방법으로 심포니 형태로 동작합니다을 만드는 방법을 볼 수 없습니다 :이 같은 데이터를 받아들이는 형태를 조정 하시겠습니까?

명확히하기 위해 JSON 요청에서 해당 필드의 이름을 지정하지 않고 단일 양식 필드를 허용하고 싶습니다.

답변

1

나는 비슷한 문제를 가지고있다. 나를 위해 일한 무엇을, 만들 수 형태로 공장을 사용했던 (때 전형적인 컨트롤러 내부 예)과 같이, 하늘의 이름으로 형태 이름 :

/** @var $formFactory FormFactory */ 
$formFactory = $this->get('form.factory'); 

$form = $formFactory->createNamed('', $type, $data, $options); 

양식이 같은 구성주의하십시오 이 모든 POST (또는 GET) 데이터를 사용합니다. 따라서 필요한 데이터 만 제공 될지 확신 할 수없는 경우 allow_extra_fields

+0

Perfect, 감사합니다. 전에는이 방법을 사용하지 않았지만 작업을 멋지게 수행하는 것 같습니다. – watermanio

관련 문제