java - 当我们使用 Rest 模板在内部点击 API 时,如何在 Spring Boot 中获取 API 的 HTTP 状态

标签 java spring spring-boot httpresponse spring-restcontroller

我想在 Spring 代码中将一个 api 的对象以及 HTTP 响应 获取到另一个 API 中。为此,我使用了 rest 模板,并且我成功地从中获取了所需的Object

但我也想为相应的 api 获取 HTTP 响应。 我应该怎么做才能得到这个?

RestTemplate restTemplate = new RestTemplate();
Quote quote = restTemplate.getForObject("http://gturnquist-quoters.cfapps.io/api/random", Quote.class);
System.out.println("quote "+quote);
System.out.println(quote.getType());
log.info(quote.toString());

最佳答案

RestTemplate的

getForObject方法只获取结果。如果您对状态代码感兴趣,您应该调用 exchange,它返回一个 ResponseEntity,该实体具有 getStatusCode 方法。

RestTemplate restTemplate = new RestTemplate();
    ResponseEntity<Quote> response= restTemplate.exchange ("http://gturnquist-quoters.cfapps.io/api/random", HttpMethod.GET, null, Quote.class);
    Quote quote = response..getBody();
    System.out.println("status "+response..getStatusCode());
    System.out.println("quote "+quote);
    System.out.println(quote.getType());

关于java - 当我们使用 Rest 模板在内部点击 API 时,如何在 Spring Boot 中获取 API 的 HTTP 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43394296/

相关文章:

java - 如何在 Android 中以编程方式注册服务?

java - @AccessTimeout(value = 0) 和 @Lock(LockType.WRITE) 之间的区别

spring - 跨 Camel 上下文的全局异常处理程序——覆盖所有路由

java - Spring Boot @PreDestroy 注释不起作用

java - 管理错误并将其发送给客户端

java - 重复类型转换

java - J2me,我需要一个不是Zxing的数据矩阵解码器库

java - 带 @Secured 和 @PreAuthorize 注释的类不保护 super 方法

java - 无需 promise 供应商锁定的 GAME 框架

spring - 从 Spring Boot Controller 返回 JAXB 生成的元素