我正在使用Laravel 5.2和Dingo API包创建API。创建用户后,我希望使用新的Declare Function ReadFile Lib "kernel32" (ByVal hFile As Integer, ByRef lpBuffer As String, _
ByVal nNumberOfBytesToRead As Long, ByRef lpNumberOfBytesRead As Long, _
ByVal lpOverlapped As Long _
) As Integer
返回201
响应。
我的代码
$user->id
根据Dingo documentatio,我可以在return $this->response->created();
函数中提供location
和$content
作为参数。
我的问题是,我需要在此处返回哪些位置信息,并且我尝试将新用户设置为created()
,但它无法正常工作或我不确定会发生什么。
有人可以解释这个$content
功能吗?
答案 0 :(得分:2)
这样做是设置Location
标题,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');
至于内容,正如您在函数中看到的那样,它在返回时设置内容。在您的情况下,它可能是一个带有新用户信息的json字符串,如:
return $this->response->created('/users/123', $user); // laravel should automatically json_encode the user object