我有路线:
$router->group(['middleware' => 'auth'], function ($router){
$router->post('/create-update/', ['uses' => 'ReceiveUserLogin@createUpdate']);
});
这显然会导致我的RecieveUserLogin控制器以这样的响应消息方法结束:
public function returnMessage($statusCode, $message)
{
if($statusCode >= 400) {
return abort($statusCode, $message);
} else {
$content = ['status' => $statusCode, 'message' => $message];
$response = new Response;
$response->setContent($content);
return $response;
}
}
但是在邮递员中我获得了200 OK的状态代码,这很棒,但是我想要之前放入的json响应信息。知道我做错了吗?
答案 0 :(得分:1)
创建响应时,需要将其设置为json类型。设置一个标题来告诉它json的响应类型,或者(like in the documentation)使用json帮助函数。
在上面的代码中,更改此内容:
$content = ['status' => $statusCode, 'message' => $message];
$response = new Response;
$response->setContent($content);
return $response;
到此:
$content = ['status' => $statusCode, 'message' => $message];
return response()->json($content);
此外,请确保直接从控制器方法返回响应。返回到调用它的方法,它不会立即退出或打印。因此,如果您没有从控制器返回,它将根本不会返回。