Sono solo un principiante nel framework Slim. Ho scritto una API usando il framework Slim.Come accedere a un corpo di richiesta JSON di una richiesta POST in Slim?
Una richiesta POST viene a questa API da un'app per iPhone. Questa richiesta POST è in formato JSON.
Ma non sono in grado di accedere ai parametri POST inviati in una richiesta da iPhone. Quando ho provato a stampare i valori dei parametri POST ho ottenuto "null" per ogni parametro.
$allPostVars = $application->request->post(); //Always I get null
Poi ho cercato di ottenere il corpo di una prossima richiesta, convertire il corpo in formato JSON e inviati indietro come una risposta per l'iPhone. Poi ho avuto i valori dei parametri ma sono in formato molto strano come segue:
"{\"password\":\"admin123\",\"login\":\"[email protected]\",\"device_type\":\"iphone\",\"device_token\":\"785903860i5y1243i5\"}"
Quindi una cosa di sicuro è parametri di richiesta POST stanno arrivando a questo file API. Sebbene non siano accessibili in $application->request->post()
, entrano nel corpo della richiesta.
Il mio primo problema è come devo accedere a questi parametri POST dal corpo della richiesta e il mio secondo problema è perché i dati della richiesta vengono visualizzati in un formato così strano come sopra dopo aver convertito il corpo della richiesta in formato JSON?
Segue la necessaria frammento di codice:
<?php
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
//Instantiate Slim class in order to get a reference for the object.
$application = new \Slim\Slim();
$body = $application->request->getBody();
header("Content-Type: application/json");//setting header before sending the JSON response back to the iPhone
echo json_encode($new_body);// Converting the request body into JSON format and sending it as a response back to the iPhone. After execution of this step I'm getting the above weird format data as a response on iPhone.
die;
?>
possibile duplicato di [Come ottenere l'entità richiesta POST utilizzando Slim framwork] (http://stackoverflow.com/questions/26346960/how-to-get-the-post-request-entity-using- slim-framwork) – guillermoandrae