返回响应 201 在控制器中创建。拉维尔

112*_*ion 3 php response laravel

如何返回响应201 - Created

我知道这个解决方案。

public function store(Request $request): \Illuminate\Http\Response
{
    return response()->noContent(201);
});
Run Code Online (Sandbox Code Playgroud)

但它很长。

有更短的路吗?

小智 9

我不会使用魔法数字

use Symfony\Component\HttpFoundation\Response;

...

public function store(Request $request): \Illuminate\Http\Response
{
    return response()->noContent(Response::HTTP_CREATED);
});
Run Code Online (Sandbox Code Playgroud)


lag*_*box 5

ResponseFactory可宏观的。如果您愿意,可以向其中添加自定义功能:

\Illuminate\Routing\ResponseFactory::macro('created', function () {
    return $this->noContent(201);
});
Run Code Online (Sandbox Code Playgroud)

然后您可以在以下位置调用它ResponseFactory

return response()->created();
Run Code Online (Sandbox Code Playgroud)

Laravel 6.x 文档 - 响应 - 响应宏 macro