当前位置: 首页 > 知识库问答 >
问题:

API响应返回不带响应体的JSON

文英达
2023-03-14

使用Guzzle,我正在使用JSON格式的一些外部API,通常我获取数据

$data = $request-

但是我无法从这个不同的api中获取数据。数据似乎没有出现在“响应体”中。

这个api调用有效:https://i.ibb.co/80Yk6dx/Screenshot-2.png

这不起作用:https://i.ibb.co/C239ghy/Screenshot-3.png

public function getRemoteCienciaVitaeDistinctions()
{
    $client = new Client(['headers' => ['Accept' => 'application/json']]);

    $request = $client->get(
        'https://................/',
        [
            'auth'          => ['...', '...'],
        ]

    );

    $data = $request->getBody()->getContents();
    return $data;
}

共有1个答案

曾瀚昂
2023-03-14

第二个调用工作正常,但响应为空,正如我们在Screenshot-3中看到的,Total=0,因此来自此API的响应为空。

为了正确处理它,我建议您对您的方法进行以下修改:

public function getRemoteCienciaVitaeDistinctions()
{
    $client = new Client(['headers' => ['Accept' => 'application/json']]);

    $request = $client->get(
        'https://................/',
        [
            'auth'          => ['...', '...'],
        ]

    );

    //Notice that i have decoded the response from json objects to php array here.

    $response = json_decode($request->getBody()->getContents());

    if(isset($response->total) && $response->total == 0) return [];

    return $response;
}

请检查您正在使用的API的留档

 类似资料:
  • 我使用的是Spring版本4(Spring data),我想将Object作为JSON返回,我想知道以下代码即使不使用xmlRootElement注释用户类也能工作: 任何机构都可以解释吗?当我需要注释要返回为JSON的对象类时,响应体/响应实体是否自己完成工作?

  • 当我从RestController返回POJO时,它在JSON对象中转换。但是当我尝试返回controller返回纯文本。怎么了? 我的RestController:

  • 我正在尝试调用FlickR API,但由于response.body()返回null而遇到困难。 我不确定它是否与我的JSON/POJO映射相关,但我无法弄清楚当我调用Flickr时如何访问来自改版的响应。我知道我的调用已经成功完成,因为我实际上能够通过日志拦截器查看JSON。 型号: 活动 }

  • 我们最近从springfox迁移到springdoc openapi 3。其中一个API返回大约2MB的数据,它在springfox中正常工作,但是springdoc openapi用户界面在几分钟内没有响应,渲染也需要2分钟以上。有什么办法可以解决吗?

  • 我对Spring很陌生。我有一个在Spring中编写的REST api,但我不知道如何使用自定义http响应代码返回JSON响应。 我返回一个JSON响应,如下所示: 但它总是显示200个http ok状态代码。 如何可能在void函数中返回JSON响应和自定义HTTP代码?

  • 我正在使用spring boot和jersey(我使用过spring-boot-starter-jersey)开发网关api。我应该同时返回xml和json响应,它似乎可以使用json响应,但当对xml发出请求时,我得到404。这是服务的代码 谢谢你帮了我很多忙。 向sajid致意