在Laravel中格式化响应

时间:2018-02-13 09:52:18

标签: php json laravel laravel-5.5

我在GrahamCampbell/Laravel-Bitbucket构建的应用程序中使用laravel 5.5,我遇到了一些问题,我正在尝试检索我的存储库的提交详细信息列表而且我无法使用响应格式。我试图做这样的事情:

$data = Bitbucket::api('Repositories\Commits')->all('***repo***user***', '***repo***name***', array(
        'branch' => 'master'
    ));
return $data

我已经尝试return response()->json(['data' => $data], 200)

我收到的回复不是JSON格式:

HTTP/1.1 200 OK
Server: nginx
Vary: Authorization
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Date: Tue, 13 Feb 2018 09:21:41 GMT
X-Served-By: app-139
ETag: "7b8332218b7bc6b7c4a2f50e3ab9c45c"
X-Static-Version: 476dd7889f1a
X-Content-Type-Options: nosniff
X-Accepted-OAuth-Scopes: repository
X-Credential-Type: password
X-Render-Time: 1.31000494957
Connection: keep-alive
X-Request-Count: 141
X-Frame-Options: SAMEORIGIN
Last-Modified: Mon, 12 Feb 2018 20:17:03 GMT
X-Version: 476dd7889f1a
Content-Length: 71360


{"pagelen": 30, "values": [{"hash": "********9b580ff91967547d61*****", "repository": {"links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/********/*****"}, "html": {"href......

我的意思是标题数据也来了,如果我使用json_decode($data)它会给我错误,清楚地显示不是JSON。如何将其格式化为正确的JSON响应?

修改

请查看屏幕截图:

biterror

我将以上代码全部作为回应,无法格式化,因为它包含标题数据。

1 个答案:

答案 0 :(得分:2)

您可以使用Response Facade或response()辅助功能

use Response;
.....
.....
return Response::json($data);

这将以json

的形式返回响应

还使用response()辅助函数

return response()->json([
    'data' => $data,
]);

此外,您还可以设置状态代码,

return response()->json([
    'data' => $data,
], 200);