2014-11-05 2 views
2

내 API를 테스트 중이므로 요청을 만들고 싶지만 매개 변수를 사용할 수 없습니다. 내가하는 일은 Hello가 World를 가리키는 param을 추가하는 것이지만, Hello는 그 매개 변수를 가져 오려고 할 때 NULL을 반환합니다. 누락 된 것이 무엇입니까? 코드는 다음과 같습니다.Laravel : 요청에 매개 변수를 추가 할 수 없습니다.

//This is routes.php: 
<?php 
Route::get('/testapi', '[email protected]'); 
Route::get('/json/locations', '[email protected]'); 
?> 


//This is TestController.php: 
<?php 

class TestController extends \BaseController { 
    public function testapi() { 
     echo 'Create the request'; 
     echo '<br>'; 
     $request = Request::create('/json/locations', 'GET', array('Hello' => 'World')); 
     return Route::dispatch($request)->getContent(); 
    } 
} 
?> 


//This is APILocationController.php: 
<?php 

class APILocationController extends \BaseController { 
    public function getForUser() { 
     echo var_dump(Request::get('Hello')); 
     echo '<br>'; 
     return Response::json(array('message' => 'Index all locations based on User'), 200); 
    } 
} 
?> 

//This is the output: 
Create the request 
NULL 
{"message":"Index all locations based on User"} 

// 어떻게 "NULL"입니까?

답변

3

"Request :: replace ($ request-> input());" 내 문제를 해결, 왜 모르겠 :

$request = Request::create('/json/locations', 'GET', array('Hello' => 'World')); 
    Request::replace($request->input()); 
    return Route::dispatch($request)->getContent(); 

어쨌든, 그것은 지금 작동합니다. 여기에 질문을 잊어 버렸습니다.

-1

Laravel에서 GET 또는 POST 매개 변수를 가져 오려면 Input을 사용해야합니다.

<?php 

class APILocationController extends \BaseController { 
    public function getForUser() { 
     echo var_dump(Input::get('Hello')); 
     echo '<br>'; 
     return Response::json(array('message' => 'Index all locations based on User'), 200); 
    } 
} 
+0

여전히 NULL을 반환합니다./ – Rkey

+1

어떻게 테스트합니까? – Jerodev

+0

방금 ​​붙여 넣은 코드와 똑같은 코드를 사용하여 Request : :: Input으로 가져 오기 :: get – Rkey

-1

get param 인 경우 경로에 추가해야합니다. 이것을 시도하십시오 :

Route :: get ('/ json/locations/{hello}', 'APILocationController @ getForUser');

대소 문자를 구분하지 않을지 잘 모르겠습니다. 테스트해야합니다.

+0

내가 아는 한 내가 그렇게 할 필요는 없다. 요청 자체에 변수를 첨부 할 수 있어야한다. – Rkey

+0

이것은 GET 매개 변수가 아니며 URI 섹션이며 GET 매개 변수와 아무 관련이 없습니다. 경로에 상관없이 통과하게됩니다. – ollieread