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

时间:2016-08-29 17:18:28

标签: rest api laravel laravel-5.2 dingo-api

我正在使用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功能吗?

1 个答案:

答案 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