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

时间:2019-12-26 13:49:07

标签: php laravel response

如何返回响应201 - Created

我知道这个解决方案。

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

但是很长。

有更短的方法吗?

2 个答案:

答案 0 :(得分:2)

我不会使用魔术数字

use Symfony\Component\HttpFoundation\Response;

...

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

答案 1 :(得分:2)

ResponseFactory是可宏的。您可以根据需要向其中添加自定义功能

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

然后您可以在ResponseFactory上调用它:

return response()->created();

Laravel 6.x Docs - Responses - Response Macros macro