如何在PHPUnit中查看Laravel Resource返回的完整JSON响应内容
调试Laravel ConversationResource返回完整JSON的正确方案
你当前通过dd($response->original)拿到的是未序列化的ConversationResource实例,没有走完Laravel API资源的完整序列化流程,所以和接口实际返回给前端的JSON结构不一致。
推荐调试方法
- 方法1:通过响应对象的
json()方法获取结构化返回数据
直接替换测试用例中的dd($response->original);为以下代码即可拿到和前端收到的完全一致的数组结构:
如果需要看格式化的JSON字符串,可以用:dd($response->json());dd(json_encode($response->json(), JSON_PRETTY_PRINT)); - 方法2:直接读取响应原始内容
要直接拿到接口返回的原生JSON字符串,可以调用响应的getContent()方法:dd($response->getContent()); - 方法3:脱离请求手动调试Resource输出
如果你需要在测试或者控制器之外单独调试Resource的返回结构,可以手动触发序列化流程:$resource = new ConversationResource($conversation); // 拿到序列化后的完整数组 dd($resource->response()->getData(true)); // 或者直接拿到JSON字符串 dd($resource->response()->getContent());
内容的提问来源于stack exchange,提问作者Kyle Corbin Hurst
相关产品推荐
相关产品推荐

