1. 개요
2. 환경
Spring Boot Web Starter
3. 코드
3.1. Sarc.java
package com.example.demo; public class Sarc { private String url; private String scheme; private String articleMenu; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getScheme() { return scheme; } public void setScheme(String scheme) { this.scheme = scheme; } public String getArticleMenu() { return articleMenu; } public void setArticleMenu(String articleMenu) { this.articleMenu = articleMenu; } }
3.2. SarcController.java
package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class SarcController { @GetMapping("/sarc") public Sarc getUrl() { Sarc sarc = new Sarc(); sarc.setUrl("sarc.io"); sarc.setScheme("https"); sarc.setArticleMenu("aws"); return sarc; } }
4. 호출
http://localhost:8080/sarc
5. RestTemplate
RestTemplate template = new RestTemplate();
HTTP Method | RestTemplate Method |
GET | getForObject() |
POST | postForObject() |
PUT | put() |
DELETE | delete() |
OPTIONS | optionsForAllow() |
PATCH | patchForObject() |
HEAD | headForHeaders() |
RestTemplate template = new RestTemplate(); String uri = "http://sarc.io/store/orders/{id}/items"; OrderItem[] items = template.getForObject(uri, OrderItem[].class, "1"); OrderItem item = //Create Item URI itemLocation = template.postForLocation(uri, item, "1"); item.setAmount(2); template.put(itemLocation, item); template.delete(itemLocation);
6. Request Mapping 기반 메소드
- @GetMapping
- @PostMapping
- @PutMapping
- @PatchMapping
- @DeleteMapping
다음은 모든 주문을 가져오는 GET 요청이다.
@GetMapping(path="/orders")
다음은 새로운 주문을 생성하는 POST 요청이다.
@PostMapping(path="/orders")
7. RequestMapping 어노테이션
@RequestMapping(path="/members", method=RequestMethod.GET)
이는 다음과 동일하다.
@GetMapping("/members")
8. RestController 어노테이션
@Controller public class OrderController { @GetMapping("/orders/{id}") public Order getOrder(@PathVariable long id) { return orderService.findOrder(id); } }
이는 다음과 동일하다.
@RestController public class OrderController { @GetMapping("/orders/{id}") public Order getOrder(@PathVariable long id) { return orderService.findOrder(id); } }