我使用带有json文件的guzzle 6来描述我要调用的方法。
Bellow,有一个put请求的例子:
在json描述符文件中:
"putObjects" : {
"httpMethod": "PUT",
"uri": "objects",
"summary": "Send objects to the api",
"parameters": {
"objects" : {
"type" : "string",
"location" : "body"
}
}
}
symfony控制器中的:
$clientResponse = $client->execute(
$client->getCommand("putObjects", array(
'objects' => $request->getContent()
))
);
之前,当发出put请求时,使用guzzle 3,发送的数据就像这样(一个有效的json)格式化:
{objects:[{....}]}
但现在,在guzzle 6中,数据格式为:
objects = {objects:[{....}]}
当然,我的api发给我一个错误'收到的json消息无效'。
有人对这个问题有所了解吗?
答案 0 :(得分:0)
我找到了解决方案。
在symfony控制器中:
myformat.POSIXct <- function(x, digits=0) {
x2 <- round(unclass(x + (5*10^(-digits-1))), digits)
attributes(x2) <- attributes(x)
x <- as.POSIXlt(x2)
x$sec <- round(x$sec, digits) + 10^(-digits-1)
format.POSIXlt(x, paste("%Y-%m-%d %H:%M:%OS",digits,sep=""))
}
myformat.POSIXct(this_special_date, digits=3)
在json描述符文件中:
$content = json_decode($request->getContent(), true);
$clientResponse = $client->execute(
$client->getCommand("putObjects", array(
'objects' => $content['objects']
))
);