当我调用Lumen时,无论使用哪种方法,它总是返回带有响应的标头。为什么?
这是路由器:
$router->group(['prefix' => 'test'], function() use ($router) {
$router->post('an', 'MyController@anAction');
});
这是我的控制器执行的操作
public function anAction(Request $request): string {
$return['result'] = true;
return response()->json($return);
}
这是响应:
HTTP/1.0 200 OK Cache-Control: no-cache, private Content-Type: application/json Date: Thu, 02 May 2019 14:54:35 GMT {"result":true}
我怎么能拥有这个?
{"result":true}
答案 0 :(得分:1)
我刚遇到这个问题,是由于函数的typehint返回所致:
public function anAction(Request $request): string {
那是将响应转换为字符串,而不是实际的Illuminate \ Http \ JsonResponse。将其更改为此解决了我的问题。
public function anAction(Request $request): \Illuminate\Http\JsonResponse {