검색했지만 답변을 찾지 못했습니다. 기본 CRUD를 관리하는 RESTful API가 있습니다. PUT을 사용하여 업데이트 메서드를 만들려고하는데 params 값을 검색 할 수 없습니다. 내가 요청을 만들기 위해 Postman을 사용하고, 내 요청과 같이 보인다 :Slim으로 PUT 매개 변수 가져 오기 PHP
URL
http://localhost/api/update/987654321
에 Params
id = 987654321
name = John Smith
age = 35
PHP
$app = new Slim();
$app->put('/update/:id', function($id) use($app){
var_dump([
'id' => $id,
'name' => $app->request->put('name'),
'age' => $app->request->put('age')
]);
});
내 var_dump()
결과는 다음과 같습니다
array(3) {
["id"]=>
string(9) "987654321"
["name"]=>
NULL
["age"]=>
NULL
}
에 어떤 문제가 있습니까? 어떤 생각?
체크 아웃을 수동 http://docs.slimframework.com/#Request-Body 경우를 시도 할 수 있습니다 변수 요청 섹션으로 스크롤하면 그곳에 예제가 있습니다. 또는 parse_str (file_get_contents ("php : // input"), $ post_vars); ' – mic
요청을 통해 이미지를 업로드하고 싶을 때 본문에서 직접 매개 변수를 가져 와서 var에 넣을 수 있습니다. ''POST''를 사용하여 업데이트하는 것은 나쁜 일입니까? – bodruk
죄송합니다. 내 의견은 'POST'데이터가 아니기 때문에 다른 사이트에서 코드를 복사했습니다. 그러나 PUT 데이터는 GET 이외의 다른 모든 유형의 요청과 마찬가지로 요청 본문에 설정됩니다 (GET 요청에 본문 문자열을 첨부 할 수는 있지만 시도하지는 않았습니다). 당신은'parse_str ($ app-> request-> getBody(), $ vars);'할 수 있고, var_dump를 사용하여 데이터를 볼 수 있습니다. – mic