1

我正在尝试使用 Recess 创建一个 api,但我对它的 JsonView 有疑问。目前,如果我在 /users/1 上执行 GET 请求(它路由到一个函数,该函数获取 id 为 1 的用户的所有详细信息并以 Json 响应),我得到以下信息:

{"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 回答