2014-12-18 2 views
1

나는 REST 아키텍처 다음에 작은 웹 서비스를 만들려고하고 있으며 Slim Framework를 사용하여 라우팅을 처리합니다. 예를 들어 데이터베이스에 curl Extension을 사용하여 다른 서버의 게시물 요청을 보내 사용자를 추가 할 수 있도록 게시물 경로를 정의했지만 요청을 보냈지 만 전송 된 데이터를 처리하기위한 방법을 파악할 수 없습니다 내 콜백 함수에서 라우팅에 정의 된. 1, 경로컬을 사용하여 게시물 요청

$app->post('/users/create/', function ($data) use($app) 
{ 
    $app->response->status(201); 
    echo "The user ".$data['name']." was added successfully"; 
} 
); 

을 다음

$data = array(
    'id' => 3, 
    'name' => 'Gree3a' 
); 
$url = "http://localhost/api/users/create/"; 
$ic = curl_init(); 

//set options 
curl_setopt($ic, CURLOPT_URL, $url); 
curl_setopt($ic, CURLOPT_POST, true); 
curl_setopt($ic, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ic, CURLOPT_RETURNTRANSFER, true); 

//perform our request 
$result = curl_exec($ic); 
curl_close($ic); 

echo $result; 

내가 뭔가를 그리워했다 (다른 페이지에서) 컬을 사용하여 보낸 POST 요청 : 나는 코드 자체에 대한 이야기하자?

+0

나는 또한 $ _POST [ 'name']을 시도했지만 오류가 발생합니다. – arakibi

답변

0

그래서, 당신은 다음과 같은 옵션을 넣어야 할 경우, 당신의 경로를 확보 할 수있다 : 제품에

curl_setopt($ic, CURLOPT_POSTFIELDS, $data); 

: 나는 그것을 발견

curl_setopt($ch, CURLOPT_USERPWD, "user:password"); 
0

OK, 나는 선을 변경

curl_setopt($ic, CURLOPT_POSTFIELDS, http_build_query($data)); 

그리고 나서 Route에서 $ _POST [ 'name']을 (를) 사용했습니다.