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
我正在用 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