1

Recess で API を作成しようとしていますが、その JsonView について質問があります。現在、たとえば /users/1 (ID 1 のユーザーのすべての詳細を取得し、Json で応答する関数にルーティングされます) で GET 要求を実行すると、次のようになります。

{"users":{"id":"1","username":null,"password":null,"datejoined":false}}

代わりに次のようにするにはどうすればよいですか。

{"id":"1","username":null,"password":null,"datejoined":false}

つまり、すべての詳細を に包み込みたくありません"users":{}

4

2 に答える 2

1

デフォルトでは、RecessのJsonViewはコントローラーのプロパティで応答します。したがって、プロパティはJSONに直接エンコードされます。$users

カスタム応答オブジェクトを返すことで、これをオーバーライドできます。

return new OkResponse($this->request, (array)$this->users);
于 2012-06-06T21:19:46.657 に答える
0

特に凹みについてはわかりませんが、JsonViewメソッド/関数を入力パラメーターで使用している場合は(array) $result、に変更$resultすると$result['users']、探している答えが得られる場合があります。

たとえば、プレーンな PHP を使用する場合:

first object: echo json_encode($result);
second object: echo json_encode($result['users']);
于 2012-06-06T03:54:49.580 に答える