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

Spring Boot无法读取某些API响应

曾永新
2023-03-14

我正在使用Spring Boot来消费API。对于某些API,它可以工作,但对于另一些API,它失败,返回500个内部服务器错误。例如,当使用此API https://quoters.apps.pcfone.io/API/random时,它工作,但是https://reqres.in/API/unknown/23返回500错误。这是什么原因?

我的代码很简单:

restTemplate.getForEntity("https://reqres.in/api/unknown/23", String.class)

共有1个答案

呼延博易
2023-03-14

对导致错误的URL的请求404Not found状态代码响应。请检查服务器是否在给定的端点上提供服务。

至于500内部服务器错误,发生的情况是,当从服务器接收到404时,RestTemplate抛出一个RestClientException,它被转换为状态代码为500的响应。您可以使用@controlleradvice为此添加显式处理,这将允许您对响应状态有更多的控制。

下面是Spring中ControllerAdvice的参考:https://spring.io/blog/2013/11/01/Exception-handing-in-Spring-MVC

 类似资料:
  • 我正在尝试使用SNMP4j 2.3.1(在Windows上运行)响应来自SnmpB的SNMP GET请求。 在“发现”模式下,SnmpB通过广播255.255.255.255(通过Wireshark检查)进行查询,我收到一个带有标准OID(sysDescr、sysUpTime、sysContact、sysName和sysLocation)的GET请求。它使用我编码的信息(“我的系统”、“我自己”等

  • REST API请求:EmployeeRequest。java id、名称、sal、位置-- 员工负责。java id、名称、sal、位置-- /api/employee 我不想在回复中使用除ID以外的其他字段 实际:`{id:“123”,“name:“null”,“sal:“null”,“location:“null”}但我只想要response id,而不是POST response的其他字段

  • 我使用Spring WebClient调用内部API,但有时我的webClient不分析响应代码,并在"exChangeToMono"方法和等待上停留块。 我使用: Spring-引导-启动-父2.5.2 Spring webClient 5.3.8 我迁移到SpringBootStarter父级2.5.2。以前我用过exchange,但现在已经不推荐了,我认为这是我的问题 我没有尝试过的一个解决

  • 问题内容: 如果我有一些代码,例如 并且输入文件包含成对的行,我该如何做,以便仅导入每行的第一行?因此,换句话说,每条奇数行都只有?谢谢 问题答案: 您可能想考虑使用来简化奇数行()的过滤。或者在另一种方法中,如果您使用的是JDK7,则可以使用该方法,并在迭代时再次过滤奇数。

  • 我正在使用SpringBoot构建REST API,这个REST API接受来自消费者的多个数据,例如empId、empName、empDept。在我当前的代码中,我使用注释从请求中访问查询参数值。但是我发现我们也可以使用从URI的占位符中获取数据。 想知道使用或其他方法获取多输入请求的最佳实践是什么?

  • 首先,我使用Windows 7 64位,WAMP 32位和火鸟32位。 我试图使用PHP与火鸟或interbase,所以我取消注释以下行从我的php.ini文件: 然后,当我启动WAMP时,会出现以下错误: 我已经尝试过的: 有人知道我该怎么解决这个问题吗?谢谢