我想在 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/