Lumen响应代码不在邮递员中返回JSON

时间:2017-09-13 15:21:56

标签: php laravel postman lumen

我有路线:

$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响应信息。知道我做错了吗?

1 个答案:

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

此外,请确保直接从控制器方法返回响应。返回到调用它的方法,它不会立即退出或打印。因此,如果您没有从控制器返回,它将根本不会返回。