私はSilexを使用してRESTful APIを作成しています。テストするには、Chromeの「Simple REST Client」アドオンを使用しています。Silex RESTful APIでPOST本体データを取得
私はURLを設定するアドオンで:http://localhost/api-test/web/v1/clients 私は「メソッド」を設定します。name =どんな
私の:POST 私は私が「データ」を設定し、「ヘッダ」、空白 を残します私が持っている「clients.php」ページ:
アドオンでrequire_once __DIR__.'/../../vendor/autoload.php';
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app = new Silex\Application();
$app->post('/clients', function (Request $request) use ($app) {
return new Response('Created client with name: ' . $request->request->get('name'), 201);
}
、出力ショー:「ステータス:201」(正しい)、ヘッダの束、および「データ:名前で作成されたクライアント:」(それ「データ:作成された名前のクライアント:何でも」
私は間違って何をしていますか?私も試しました:$ request-> get( 'name')
ありがとう。
リクエスト(Content-Type:application/x-www-form-urlencoded)でContent-Typeヘッダーを送信してください。 – xabbuh
@xabbuh私はフォームを作成していない、私はAPIを作成しています。まだ必要ですか? –
@xabbuhあなたのヘッダーを追加することは私が提供した "データ"で動作します、ありがとうございます。私のEmber.jsフロントエンドは実際にはJSONを送信するので、POSTしたデータは{"name": "whatever"}ですが、このデータとヘッダー "Content-Type:application/json "または" Content-Type:application/vnd.api + json "という名前を出力しません。 –