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