Dingo Api 响应->已创建 |位置和内容示例

Dingo Api response->created | location and content example

我正在用 Laravel 5.2 和 Dingo API 包创建 API。创建用户后,我想 return 201 响应新的 $user->id

我的代码

return $this->response->created();

根据 Dingo documentatio,我可以提供 location$content 作为 created() 函数中的参数。

我的问题是,我需要在此处 return 什么位置信息并且我尝试将我的新用户设置为 $content,但它不起作用或者我不确定会发生什么。

有人可以解释这个 created() 函数吗?

这样做是设置 Location header, as seen in the source:

/**
 * Respond with a created response and associate a location if provided.
 *
 * @param null|string $location
 *
 * @return \Dingo\Api\Http\Response
 */
public function created($location = null, $content = null)
{
    $response = new Response($content);
    $response->setStatusCode(201);
    if (! is_null($location)) {
        $response->header('Location', $location);
    }
    return $response;
}

因此,在您的示例中,由于您正在创建新用户,因此您可以发送用户个人资料页面作为位置,例如:

return $this->response->created('/users/123');

至于内容,正如您在函数中看到的那样,它在 return 上设置了内容。在您的情况下,它可能是带有新用户信息的 json 字符串,例如:

return $this->response->created('/users/123', $user); // laravel should automatically json_encode the user object