RESTful API는 네트워크 상에서 클리어언트와 서버 간의 통신을 위한 아키텍처 중 하나이다. REST는 Representataional State Transfer의 약자로, 웹의 장점을 최대한 활용한 설계를 목표로 한다. 이 글에서 RESTful API의 개념을 이해하고, 실제 예시 코드를 통해 활용 방법을 정리한다.
RESTful API는 다음과 같은 원칙을 따른다.
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/items")
public class ItemController {
private final ItemService itemService;
@GetMapping
public ResponseEntity<List<Item>> itemList() {
List<Item> items = itemService.itemList();
return ResponseEntity.ok(items);
}
@PostMapping
public ResponseEntity<Item> addItem(@RequestBody Item item) {
Item addItem = itemService.addItem(item);
return ResponseEntity.status(HttpStatus.CREATED).body(addItem);
}
@PutMapping("/{id}")
public ResponseEntity<Item> updateItem(@PathVariable Long id, @RequestBody Item item) {
Item updateItem = itemService.updateItem(id, item);
return ResponseEntity.ok().body(updateItem);
}
@DeleteMapping("/{id}")
public ResponseEntity<?> deleteItem(@PathVariable Long id) {
itemService.deleteItem(id);
return ResponseEntity.noContent().build();
}
}