Slim Framework v3 を使用していますが、ブラウザー クライアントから REST API に送信する JSON データへのアクセスに問題があります。
現在$request->getParsedBody();
、データへのアクセスに使用していますが、返されるのは文字列だけであり、解析したくありません。この問題にはもっと良い解決策があると思うからです。
クライアントから送信される内容は次のとおりです。
$data = array ();
$data ["key1"] = "value1";
$data ["key2"] = "value2";
$data ["key3"] = "value3";
$data = json_encode ( $data );
これにより、{"key1":"value1","key2":"value2","key3":"value3"}
サーバー上で何が起こるか?
$app->post ( '/somePath', function ($request, $response) {
$body = $request->getParsedBody();
var_dump($body);
return $response;
});
はvar_dump();
次の出力を生成します。
string(86) "array(1) {
["{"key1":"value1","key2":"value2","key3":"value3"}"]=>
string(0) ""
}
"
ご覧のとおり$request->getParsedBody();
、文字列を返しています。これを行うより良い方法はありますか?
私はすでに を使用しようとしまし$request->getBody();
たが、それはタイプ Slim\Http\RequestBody のオブジェクトを返し、変数のみを保護しています。これらの保護された変数にアクセスする関数は見つかりませんでした。
Slim v3 を使用していることを覚えておいてください。v2 から多くのことが変更されています。
より良い方法がない場合、最良の方法で解析する方法を提案していただけますか?