1

Laravel 5.2 と Dingo API パッケージで API を作成しています。201ユーザーが作成されたら、 new で応答を返したいです$user->id

マイコード

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

Dingo のドキュメントに従って、関数のパラメーターとしてlocationandを指定できます。$contentcreated()

私の質問は、ここでどの位置情報を返す必要があるかということです。新しいユーザーを に設定しようとしました$contentが、機能しないか、何を期待すればよいかわかりません。

created()誰かがこの機能を説明してもらえますか?

4

1 に答える 1

2

これが行うことは、ソースに見られるようにLocationヘッダーを設定することです:

/**
 * 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
于 2016-08-29T18:05:06.097 に答える