繁体   English   中英

从 API 回答的 JSON 内容返回 null(使用 Spring 引导)

[英]JSON contents answered from an API returns null (with Spring boot)

我正在学习使用 Spring Boot 使用 API 并遇到以下问题:

URL“http://servicebus2.caixa.gov.br/portaldeloterias/api/home/ultimos-resultados”返回一个 JSON,其中包含巴西彩票的最后结果。

尝试使用 Spring 控制器接收此输出时:

@GetMapping(value = "/loterias")
public String getLotteryResults() {
    String url = "http://servicebus2.caixa.gov.br/portaldeloterias/api/home/ultimos-resultados";
    RestTemplate rest = new RestTemplate();
    Object results = rest.getForObject(url, Object.class);

    return results.toString();

我收到以下错误消息:

2022-07-10 12:22:14.692[0;39m [31mERROR[0;39m [35m17456[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.accC[.[.[/].[dispatcherServlet] [0;39m [2m:[0;39m Servlet.service() for servlet [dispatcherServlet] 在路径 [] 的上下文中抛出异常 [请求处理失败; 嵌套异常是 java.lang.NullPointerException:无法调用“Object.toString()”,因为“results”为空] 根本原因

我正在关注“https://www.geeksforgeeks.org/how-to-call-or-consume-external-api-in-spring-boot/”中的教程(它使用新链接“https:// /restcountries.com/v3.1/all”)。

我已经尝试过与示例中相同的输出类,但没有成功......关于在这种情况下可以做什么的任何提示?

您发布的链接似乎不再有效"http://servicebus2.caixa.gov.br/portaldeloterias/api/home/ultimos-resultados"

在 chrome 上它发送一个重定向到它的 https 端点: 在此处输入图像描述

当尝试使用restTemplate.getForEntity(url, Object.class)时,它会显示 302 重定向,现代浏览器会自动重定向,因此它对用户是透明的。

<302,[位置:“https://servicebus2.caixa.gov.br/portaldeloterias/api/home/ultimos-resultados”,连接:“关闭”]>

尝试直接使用其 https 端点,但这也意味着您需要处理安全证书指南

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM