Method | Spring RestTemplate’s method |
Get | getForObject, getForEntity |
Post | postForObject(String url, Object request, Class responseType, String…? uriVariables) postForLocation(String url, Object request, String…? urlVariables), |
Put | put(String url, Object request, String…?urlVariables) |
Delete | delete() |
Head | headForHeaders(String url, String…? urlVariables) |
Options | optionsForAllow(String url, String…? urlVariables) |
@GetMapping = @RequestMapping + Http GET method @PostMapping = @RequestMapping + Http POST method @PutMapping = @RequestMapping + Http PUT method @DeleteMapping = @RequestMapping + Http DELETE method
@GetMapping("/account/{accountId}")
public Account get (@PathVariable Long accountId){
return accountService.get(accountId);
}
@RequestMapping(method=RequestMethod.GET, value = "/account/{accountId}", produces = MediaType.APPLICATION_JSON_VALUE)
public Account get (@PathVariable Long accountId){
return accountService.get(accountId);
}
/**
*
*/
package com.doj.restclient.account;
import org.springframework.web.client.RestTemplate;
/**
* @author Dinesh.Rajput
*
*/
public class SpringRestClient {
private static RestTemplate restTemplate = new RestTemplate();
private static final String baseURL = "http://localhost:8080/restapi/";
/**
* @param args
*/
public static void main(String[] args) {
//Read Account details for a given accountId = 1 using GET method of RestTemplate
Account accountDetail = restTemplate.getForObject(baseURL+"account/1", Account.class);
System.out.println("Account Detail for given AccountId : " +accountDetail);
}
}
@PostMapping("/account")
public Account create (@RequestBody Account account){
return accountService.create(account);
}
/**
*
*/
package com.doj.restclient.account;
import org.springframework.web.client.RestTemplate;
/**
* @author Dinesh.Rajput
*
*/
public class SpringRestClient {
private static RestTemplate restTemplate = new RestTemplate();
private static final String baseURL = "http://localhost:8080/restapi/";
/**
* @param args
*/
public static void main(String[] args) {
//Create Account using POST method of RestTemplate
Account account = new Account("Arnav Rajput", "Noida", 312.33);
account = restTemplate.postForObject(baseURL+"account", account, Account.class);
System.out.println("Added account: " +account);
}
}
@PutMapping("/account")
public Account update (@RequestBody Account account){
return accountService.update(account);
}
/**
*
*/
package com.doj.restclient.account;
import org.springframework.web.client.RestTemplate;
/**
* @author Dinesh.Rajput
*
*/
public class SpringRestClient {
private static RestTemplate restTemplate = new RestTemplate();
private static final String baseURL = "http://localhost:8080/restapi/";
/**
* @param args
*/
public static void main(String[] args) {
//Create Account using POST method of RestTemplate
Account account = new Account("Arnav Rajput", "Noida", 312.33);
account = restTemplate.postForObject(baseURL+"account", account, Account.class);
System.out.println("Added account: " +account);
//Update Account detail for given accountId = 1 using PUT method of RestTemplate
Account updateAccount = new Account("Anamika Rajput", "Noida", 123.33);
updateAccount.setAccountId(1l);
restTemplate.put(baseURL+"account", updateAccount);
Account updatedAccount = restTemplate.getForObject(baseURL+"account/1", Account.class);
System.out.println("Updated Account: " +updatedAccount);
}
}
@DeleteMapping("/account/{accountId}")
public void delete (@PathVariable Long accountId){
accountService.delete(accountId);
}
/**
*
*/
package com.doj.restclient.account;
import java.util.List;
import org.springframework.web.client.RestTemplate;
/**
* @author Dinesh.Rajput
*
*/
public class SpringRestClient {
private static RestTemplate restTemplate = new RestTemplate();
private static final String baseURL = "http://localhost:8080/restapi/";
/**
* @param args
*/
public static void main(String[] args) {
List<Account> accounts = restTemplate.getForObject(baseURL+"accounts", List.class);
System.out.println("Total Accounts before DELETE call: ");
for(Object acct : accounts){
System.out.println(acct);
}
//Delete Account for given accountId = 2 using Delete method of RestTemplate
restTemplate.delete(baseURL+"account/2");
accounts = restTemplate.getForObject(baseURL+"accounts", List.class);
System.out.println("Total Accounts after DELETE call: ");
for(Object acct : accounts){
System.out.println(acct);
}
}
}

Labels: REST, Spring REST, Spring4, WebService