명을 쿼리로 검색하고 싶습니다. 내 모든 서버 작업에 문제가 없습니다. 나는 우체부에서 링크/사람/쿼리을 추가 할 때 잘 작동하는지 확인 했습니까? name = aaa 잘 작동합니다. 하지만 문제는 내 심포니 코드에 있습니다. 클릭하면 검색 버튼은 아무 것도 작동하지 않는 것처럼 모든 사람의 목록을 제공합니다. 그래서 변수를 덤프 한 후 발견했습니다. 문제는 내가 사용하려고하는 변수 본문입니다. 그것은 작동하지만 작동하지 않습니다. 여기 내 코드입니다 :symfony3에서 Unirest를 사용하여 데이터 직렬화하기
PersonController.php 여기,
public function listAction(Request $request) {
$serializer = new Serializer(
array(new GetSetMethodNormalizer(), new ArrayDenormalizer()),
array(new JsonEncoder())
);
$headers = array('Accept' => 'application/json');
$response = Unirest\Request::get(link/persons/',$headers);
$person = $serializer->deserialize($response->raw_body,
Person::class, 'json');
$form = $this->createForm(PersonType::class, $person);
if ($request->isMethod('POST')) {
$form->handleRequest($request);
$headers = array('Accept' => 'application/json');
//$body = json_encode($person);
$body = Unirest\Request\Body::multipart($person);
//$body = serialize($person);
dump($body);
$response = Unirest\Request::get('link/persons/query',
$headers,$body);
//$response = Unirest\Request::get('link/persons
// /query?firstName=aaa'); (this works well)
dump($response->body);
return $this->render('AppBundle:Person:PersonList.html.twig',
array (
'form' => $form->createView(),
'persons' => $response->body,
));
}
$response = Unirest\Request::get('link/persons/',$headers);
//$this->assertEquals(Response::HTTP_OK, $response->getStatusCode());
if ($response->body == null) {
return $this->render('AppBundle:Person:PersonList.html.twig',
array (
'form' => $form->createView(),
'persons' => $response->body,
));
}
return $this->render('AppBundle:Person:PersonList.html.twig',
array (
'form' => $form->createView(),
'persons' => $response->body,
));
}
그렇지 않으면 내 파일의 흥미로운 부분입니다 Person.html/나뭇 가지
<form novalidate="novalidate" method="post">
{{ form_row(form.name) }}
{{ form_rest(form) }}
<div class="form-group col-md-offset-5">
<button type="submit" class="btn btn-default">Search</button>
</div>
</form>
그래서 난에 클릭 할 때 검색, 함수 "listAction"이 실행되지만 정확히 $ body이 좋지 않습니다.