`
raymond.chen
  • 浏览: 1418210 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

RestTemplate使用范例

 
阅读更多

Rest接口

@GetMapping("/user/{id}")
public String addUser(@PathVariable(value="id") Long id){
	return "id=" + id;
}

@GetMapping("/user/query")
public String query(@RequestParam(value="name") String name){
	return "名字=" + name;
}

@GetMapping("/user/getUser")
public User getUser(@RequestParam(value="id") Long id){
	User user = new User();
	user.setId(id);
	user.setUsername("姓名1");
	user.setPassword("pwd1");
	return user;
}

@PostMapping("/user/add")
public User add(@RequestBody Address address){
	User user = new User();
	user.setId(100L);
	user.setUsername("姓名1");
	user.setPassword("pwd1");
	return user;
}

@PostMapping("/user/update")
public String update(@RequestBody Address address){
	return "update success";
}

@GetMapping("/user/getAllAddress")
public List<Address> getAllAddress(){
	List<Address> list = new ArrayList<Address>();
	Address address1 = new Address("省1", "city1");
	Address address2 = new Address("province11", "市11");
	list.add(address1);
	list.add(address2);
	return list;
}

@PostMapping("/user/put")
public void put(@RequestBody Address address){
	System.out.println(address.getProvince() + ", " + address.getCity());
}

 

RestTemplate方法调用

    以下是在RestTemplate + Ribbon环境下使用

String baseURL = "http://service-provider-1";

//getForObject方法
String result = restTemplate.getForObject(baseURL + "/user/{id}", String.class, id);
String result = restTemplate.getForObject(baseURL + "/user/query?name={1}", String.class, "中文");
User user = restTemplate.getForObject(baseURL + "/user/getUser?id={1}", User.class, id);

//getForEntity方法
ResponseEntity<User> userEntity = restTemplate.getForEntity(baseURL + "/user/getUser?id={1}", User.class, id);
User user = userEntity.getBody();

ResponseEntity<List> listEntity = restTemplate.getForEntity(baseURL + "/user/getAllAddress", List.class, new Object());
List list = listEntity.getBody();

//postForEntity方法
ResponseEntity<User> userEntity = restTemplate.postForEntity(baseURL + "/user/add", address, User.class, new Object());
User user = userEntity.getBody();

ResponseEntity<Void> voidEntity = restTemplate.postForEntity(baseURL + "/user/put", address, Void.class, new Object());

//postForObject方法
String result = restTemplate.postForObject(baseURL + "/user/update", address, String.class, new Object());
User user = restTemplate.postForObject(baseURL + "/user/add", address, User.class, new Object());

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics