2017-01-04 7 views
2

PUTリクエストからどのように「トークン」パラメータを取得できますか?Yii2 rest api getBodyParams()がPUTリクエストからparamsを取得できません

コントローラー:

public function actionUpdate() 
{ 
    $params = Yii::$app->getRequest()->getBodyParams(); 
    return $params; 
} 

要求:

curl -X PUT -H "Authorization: Bearer LL_nACyYVJFJyuHJxcOtiXu3OVNBJ_xo" -F "token=12345" "http://localhost/api/v1/devices/1" 

応答:

return $params['token']; 

{"success":true,"data":{"--------------------------580af3364bd175a7\r\nContent-Disposition:_form-data;_name":"\"token\"\r\n\r\n12345\r\n--------------------------580af3364bd175a7--\r\n"}}r 

私はこれを試してみました

PHPのお知らせ:未定義のインデックス:

トークンと、この

parse_str(file_get_contents("php://input"), $params); 

は、私は問題があなたの要求のコンテンツタイプに関連していると思う同じ結果

+0

次のPUT要求を使用したトークンを渡すことで、いくつかのAPIへの認証を試行していますか –

+0

@ Jeffrey-Humanizedはい、すべてのリクエストに対応します。 –

答えて

2

を返します。 プット/ポストから身体のparamsを得ることが-dの代わり-Fとカール使用してContent-type: application/x-www-form-urlencoded

試みを必要とします

curl -X PUT -H "Authorization: Bearer LL_nACyYVJFJyuHJxcOtiXu3OVNBJ_xo" -d "token=12345" "http://localhost/api/v1/devices/1" 
+0

はい、それです。ありがとう。私はちょうどPostmanを使い、PUTリクエストでContent-typeをデフォルトで変更しました。 –

関連する問題