Guzzle 6,提出请求和描述json

时间:2018-02-22 09:33:45

标签: guzzle guzzle6

我使用带有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消息无效'。

有人对这个问题有所了解吗?

1 个答案:

答案 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']
    ))
);