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

没有得到外部Json API响应使用RestTemboard

莫欣悦
2023-03-14

获取外部API如下图-[1]:https://i.stack.imgur.com/a28Y1.png

{
"status" : 200,
"data" : [ 
{
"_id": "StringValue1",
"itmId": "StringValue1",
"itmName": "StringValue1",
"imgFileName":"StringValue1",
"imgFile":"byte[] data"
},
{
"_id": "StringValue2",
"itmId": "StringValue2",
"itemName": "StringValue2",
"imgFileName":"StringValue2",
"imageFile":"byte[] data2"
}
],
"message":""
}

用作数据数组对象。

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Response {     
public String status;
Data [] data;
public String message
}

另一个物体在下面

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Data{              
public String _id;
public String itmid;
public String itmName;
public String imgFileName;
byte [] imgFile;
}

已使用/getForObject/exchange/getForEntity,但未得到任何响应。请在底部检查我使用的方法。

现在用作数据对象的列表也没有得到任何响应-

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Response {     
public String status;
List<Data> data;
public String message
}


@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Data{              
public String _id;
public String itmid;
public String itmName;
public String imgFileName;
byte [] imgFile;
}

下面是resttemplate如何调用这些-

  1. 响应obj=restTemplate。getForObject(uri,Response.class,“paramvalue”)
  2. ResponseEntity obj=restTemplate。交换(uri,HttpMethod.GET,null,Response.class,“paramvalue”)
  3. ResponseEntity obj=restTemplate。getForEntity(uri,Response.class,“paramvalue”)

尝试了所有可能的方法,但没有从外部RestAPI获得任何响应。

请注意响应json conatin data[],我们有图像的字节数据。需要支持和帮助请...

有人能支持这一点吗?提前谢谢。

共有1个答案

刘俊语
2023-03-14

您可以通过以下方式实现所需目标:

ResponseEntity<List<Data>> responseEntity = 
  restTemplate.exchange(
    BASE_URL,
    HttpMethod.GET,
    null,
    new ParameterizedTypeReference<List<Data>>() {}
  );
List<Data> data = responseEntity.getBody();

如果有帮助,请告诉我

 类似资料:
  • 我在kubernetes集群中所有节点的外部端口上公开了一个服务,该服务来自: 您已经在集群中所有节点的外部端口上公开了服务。如果要将此服务公开到外部internet,则可能需要为服务端口(TCP:30002)设置防火墙规则以服务通信量。 有关详细信息,请参阅http://releases.k8s.io/release-1.2/docs/user-guide/services-firewalls.

  • 我的输出是吐司: 事实上,我不想吐司错误味精像这样…我想简单的信息像“电子邮件或密码是错误的。再试一次” 帮帮我谢谢

  • 当我尝试将响应正文反序列化为POJO时,会设置空值,并且在未使用JsonIgnoreProperties(ignoreUnknown=true)时会遇到以下错误:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“City”(类TestNGMaven.restAssuredProject.WeatherI

  • 更新:问题已解决!AJAX可以工作,但我有函数来测试哪个到控制台日志。函数如下: 在WooCommerce的admin order页面(WooCommerce>Orders>Edit)上,我添加了自定义字段,以便向订单添加自定义费用。我跟随本文添加AJAX,但它不起作用。我成功地注册了jQuery脚本并将其排入队列,并且它在大多数情况下都能正常工作,但是我根本没有收到响应。 在admin orde

  • 此angularJS文件不将表达式的值显示为“全名:John Doe”;相反,它显示“全名:{{firstName”“lastName}”。我可能错过了什么? AngularJS文件结束 下面是它的外部javaScript文件:personController。js

  • 主要活动 公共类MainActivity扩展AppCompatActivity{String response; 公共类GetExample{OkHttpClient客户端; Xml文件