2016-10-27 14 views
0

私はアクションからこのurlを送信し、このapiをPostman経由でテストします。 POSTデータを印刷していません。Slim 3 postメソッドが空に戻ります

しかし、getメソッドが動作しています。

$app = new \Slim\App; 

$dotenv = new Dotenv\Dotenv(__DIR__); 
$dotenv->load(); 

$app->add(new \Slim\Middleware\JwtAuthentication([ 
    //"secure"  => false, 
    //"relaxed"   => ["localhost", "api.f2f.dev"], 
    "header"  => "X-Token", 
    "path"   => ["/v2"], 
    "passthrough" => ["/v1/api/token/", "/test", "/v1"], 
    "secret"  => getenv("TOKEN_SECRET") 
])); 

$app->post("/v1/app/register", function ($request, $response, $arguments) { 
    return $allPostPutVars = $request->getParsedBody(); 
}); 

私はこの問題を見つけることができませんでした。しかし、解析されていないデータは印刷できます。

助けを歓迎します。スリム3のポストメソッドも歓迎されています。

ありがとうございます。

答えて

1

あなたのコールバックは、Psr\Http\Message\ResponseInterfaceを実装するレスポンスオブジェクトを返さなければなりません。それはしません。したがって、例として:

$app->post("/v1/app/register", function ($request, $response, $arguments) { 
    $params = $request->getParams(); 
    return $response->getBody()->write('You have posted '.count($params).' parameters.'); 
}); 

場合によっては、迅速かつ汚れたチェックが必要です。

$app->post("/v1/app/register", function ($request, $response, $arguments) { 
    $params = $request->getParams(); 
    print_r($params); 
    die(); 
}); 
+0

私が実行すると、2つのフォームデータフィールドに対して1カウントが与えられます。 { "------ WebKitFormBoundaryxYYBVKAVWflZ6OMK \ r \ nContent-Disposition:_form-data; _name": "\" Store \ "\ r \ n \ r \ n必要なデータ\ r \ n ------ WebKitFormBoundaryxYYBVVVFflZ6OMK \ r \ nContent-Disposition:フォームデータ;名前= \ "A \" \ r \ n \ r \ nA \ r \ n ------ WebKitFormBoundaryxYYBVKAVWflZ6OMK - \ r \ n " } –

+0

私は欲しいdbに挿入される2つのフォームデータ。これに対して、私は$ request-> getParsedBody()を使用しています。空の配列を返します。 –

+0

@georgyのアイデアやポストメソッドと挿入のコードはありますか? –

関連する問題