RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
1. 使用GET
1.1 获取JSON字符串
我们可以使用getForEntity()
方法:
RestTemplate restTemplate = new RestTemplate();
String fooResourceUrl = "http://localhost:8080/spring-rest/foos";
ResponseEntity<String> response = restTemplate.getForEntity(fooResourceUrl + "/1", String.class);
assertThat(response.getStatusCode(), equalTo(HttpStatus.OK));
需要说明的是,通过getForEntity()
我们可以获取到完整的HTTP response
,因此我们可以通过检测状态码来判断请求是否真正执行成功。我们也可以通过getBody()
方法获取返回的具体内容,如:
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(response.getBody());
JsonNode name = root.path("name");
assertThat(name.asText(), notNullValue());
1.2 获取POJO对象
我们也可以直接将请求直接映射为一个POJO对象,如:
public class User implements