Szukałem, ale nie znalazłem odpowiedzi. Mam RESTful API do zarządzania podstawowym CRUD. Próbuję utworzyć metodę aktualizacji przy użyciu PUT, ale nie mogę pobrać wartości parametrów. Używam Postman aby wnioski, moja prośba wygląda następująco:Uzyskaj parametry PUT ze Slim 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')
]);
});
Moja var_dump()
wynikiem jest:
array(3) {
["id"]=>
string(9) "987654321"
["name"]=>
NULL
["age"]=>
NULL
}
Co jest nie tak? Dowolny pomysł?
kasie podręcznik http://docs.slimframework.com/#Request-Body if przewiniesz w dół do sekcji Zmienne Żądania, gdzie znajduje się przykład. Alternatywnie możesz pobrać parametry bezpośrednio z treści i wstawić do var, wykonując 'parse_str (file_get_contents (" php: // input "), $ post_vars);' – mic
Chcę przesłać obrazy w tej prośbie. Użycie aktualizacji "POST" jest złe? – bodruk
Niestety, mój komentarz nie dotyczył danych "POST", skopiowałem kod z innej strony. Jednak dane PUT są ustawione w treści żądania, tak jak w przypadku wszystkich innych typów żądań oprócz GET (chociaż możesz być w stanie dołączyć łańcuch treści do żądania GET, nigdy go nie wypróbowałem). Możesz zrobić 'parse_str ($ app-> request-> getBody(), $ vars);' i zrób plik var_dump, aby zobaczyć twoje dane. – mic