我有一个Drupal控制器方法,该方法使用Guzzle进行发布。当我使用邮递员时,响应是有效的json,但是当控制器返回数据时,它缺少第一个花括号。我在做任何明显错误的事情吗?
public function getproject(Request $request)
{
$client = \Drupal::httpClient();
$request = $client->post($this->uri, [
'json' => [
'projectOrJobNumber'=> $request->query->get('projectNo'),
'accessCode' => $request->query->get('accessCode')
]
]);
$response = $request->getBody(true);
\Drupal::logger('my_module')->notice($response);
return $response;
}
日志显示缺少开头大括号/括号的字符串。有一种简单的方法可以解决此问题吗?
在日志中
Message @"jobs":[{"Address":"Master Services","Contacts":[{"Jo
答案 0 :(得分:0)
尝试更换
$request->getBody(true)
使用
$request->getBody()->getContents()
我不知道Drupal是否以某种方式包装了Guzzle,但是开箱即用Guzzle不会修改响应。因此,您应该没事,只需在身体上使用->getContents()
或将其转换为(string)
。