2017-02-09 7 views
0

私はZend Framework 3に基づいてREST APIサービスを作成します。私はPUTリクエストを処理する必要があるところで立ち往生します。それはこのようなことしてみましょう:ZendFramework 3 PUTメソッドのパラメータへのアクセス

PUT /document/14 
Request parameters are: { 
    token: '.. some string here ..', 
    name: '....', 

} 

を事は私も、 "トークン" を得ることができないこと、であるため、どちらの$ this - >のGetRequest() - > getQuery()もの$ this - >でgetPost()パラメータを一切含んでいない。

私はZend_Controller_Plugin_PutHandlerを登録するようないくつかの提言を見てきましたが、私はZend Frameworkの中で3

+1

、詳細はそのクラスの実装を確認する必要があります(あなたが実際に行うことになっているとして)AbstractRestfulControllerを使用して OR AbstractActionControllerとポストデータをキャッチしようとしていますか? – smozgur

+0

... AbstractActionControllerと$ this-> params() - > fromPost( 'token'、false)のように投稿データをキャッチしようとしていますか? – smozgur

+0

私はAbstractRestfulControllerを使い、 - > fromPost( 'token'、false)は空の結果を返します。 – MaratMS

答えて

1

を、このようなクラスを見つけられませんでしたあなたはJSONデータを取得する必要があり、そのために何のparamsのヘルパーが存在しない、非常に高速ハック

// In your Controller action 
$content = $this->getRequest()->getContent(); 
$data = json_decode($content, true); 

var_dump($data); // here you will have your json as array 

これは機能しますが、より良い方法はAbstractRestfulControllerを使用することです。 これを拡張すると、メソッドupdate($ id、$ data)に自動的に$ idと$ dataが挿入されます。また、RESTful APIの他のすべてのメソッドも用意されています。

あなたは特に方法jsonDecode

+0

あなたは私を少し助けてくれました。しかし、私はjsonデータをデコードする必要はありません。なぜなら、 - > getContent()は私にmultipartフォームデータを与えたからです。だから別の質問があります。このようなコードをデコードするための埋め込み型ZF3メソッドはありますか? :) – MaratMS

+0

あなたの質問はJSONですか?上記の質問を編集できますか?あなたのコメントとは異なるものがあるので... – tasmaniski

関連する問題