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);
}
}
