在POST API中使用guzzle时如何解决问题?

问题描述 投票:1回答:1

我的框架是codeigniter,我创建这样的库:

function checkOut($url, $params){
        $client = new GuzzleHttp\Client([
            'headers' => [ 'Content-Type' => 'application/json' ,'Accept' => 'application/json; charset=utf-8'],
            'verify' => false,
            'cookies' => true
        ]);

        $response = $client->request('POST', $url, [
            'json' => $params
        ]);

        return $response->getBody->getContents();
    }

我将控制器中的库称为:

$dataArray is some array was i make,

$response_checkout = $this->corekredivo->checkOut($url, $dataArray)

并在视图中我只是解析为这样看:

$data = array(
            '_respon' => $response_checkout
        );]

但是,当var_dump();看到结果是:

string(90)“{”status“:”ERROR“,”error“:{”message“:”出错了。“,”kind“:”APIException“}}”

在此之前,我尝试了一个邮差并成功,所使用的数组结构是相同的。

php json guzzle
1个回答
0
投票

看起来这个字符串("{"status": "ERROR", "error": {"message": "Something went wrong.", "kind": "APIException"}}")是一个有效的服务器响应。

我的意思是你没有错误,你从服务器得到这个回应。服务器应用程序内部出现问题,您收到此消息。

对我而言,您似乎应该知道这种类型的响应,并在您的应用程序中以某种方式处理它们。

© www.soinside.com 2019 - 2024. All rights reserved.