2014-10-23 7 views
0

symfony 2를 FOSRestBundle과 함께 사용하려고하는데 내 GETPOST 함수가 올바르게 작동하고 PUT을 사용하여 배열을 반환하는 경우가 발생하지만 쿼리 문자열이나 입력을 가져올 수 없습니다. .PUT 메서드를 사용하는 PHP FOSRestBundle

나는) ", 명백한 $_POST$_GET,$_PUT을 시도하고도 file_get_contents("php://input을 시도했습니다,이 중 어느 것도 쿼리 문자열을 반환하지

내가 PUT는 내가 기존 항목을 업데이트하는 데 사용됩니다 믿고 리드입니다. 일을

어떤 도움을 크게 감상 할 수있다 여기에 문서화

+0

$ _PUT이 없습니다. HTTP 동사 뒤에 $ _GET 및 $ _POST라는 이름이 붙어 있다는 혼란이있을 수 있습니다. 리소스에서 작동하는 데 사용중인 Whetever HTTP 동사를 사용하면 게시 된 데이터와 쿼리 문자열 매개 변수에 모두 액세스 할 수 있습니다. symfony 컨트롤러에서 $ this-> getRequest() -> request ($ _POST) 및 $ this-> getRequest() -> 쿼리 관련 데이터 : http://symfony.com/doc /current/components/http_foundation/introduction.html – Giovanni

+0

죄송합니다. http_foundation 설치를 시도했지만 쿼리 문자열이 완전히 비어있는 것처럼 작동합니다. POST에 대해 잘 수행되는 다양한 페이로드 요청 (쿼리 문자열)을 테스트 및 메신저에 전달하기 위해 RESTConsole 크롬 확장을 사용하고 있음을 유의하십시오. 그러나 내가 PUT 할 때 도착하지는 않습니다. – Glow

답변

0

을 :.. https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/3-listener-support.md#param-fetcher-listener

예를 들어 보겠습니다.

/** 
* @View(statusCode=200) 
* @Put("/resource/{resource_id}") 
* @QueryParam(name="page", requirements="\d+", default="1", description="Page of the overview.") 
*/ 
public function putAction(ParamFetcher $paramFetcher) 
{ 
    $page = $paramFetcher->get('page'); 
    ... 
} 

그런 식으로 쿼리 매개 변수를 가져올 수 있습니다.