REST가 무슨 뜻인지, RESTful API가 어떤 규칙을 지키는지 간단한 코드와 함께 정리했습니다.
REST란
REpresentational State Transfer의 줄임말로, "자원(사용자, 게시글 등)의 상태를 표현해서 주고받는다"는 뜻입니다.
2000년 로이 필딩이 제안한 개념으로, 지금은 웹 API 설계의 표준 방식입니다.
핵심 규칙: 주소는 자원, 메서드는 행동
❌ GET /getUsers
❌ POST /deleteUser/1
✅ GET /users - 조회
✅ POST /users - 생성
✅ PUT /users/1 - 수정
✅ DELETE /users/1 - 삭제
주소에 동사를 넣지 않고, 같은 /users 주소를 GET/POST/PUT/DELETE로만 구분합니다.
java
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
public List<User> getUsers() { return userService.findAll(); }
@PostMapping
public User createUser(@RequestBody UserRequest req) { return userService.create(req); }
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) { userService.delete(id); }
}
결과는 상태 코드로
- 200/201: 성공
- 400/404: 요청 문제(형식 오류/자원 없음)
- 500: 서버 문제
Stateless: 서버는 기억 안 함
서버는 이전 요청을 기억하지 않고, 매 요청마다 필요한 정보(토큰 등)를 그 요청 안에 다 담아 보냅니다. 그래서 서버를 여러 대로 늘려도 아무 서버나 요청을 받을 수 있습니다.
마무리
REST는 "자원 상태를 표현해서 주고받는다"는 개념에서, 실무에서는 "주소는 자원, 메서드는 행동, 상태 코드는 결과"
'DEV > cs' 카테고리의 다른 글
| [CS] OSI 7계층이란 - 각 계층 역할 정리 (0) | 2026.09.25 |
|---|---|
| [CS] 큐(Queue)란 - 구조와 활용 예시 (0) | 2026.09.24 |
| [CS] Axios 사용법 정리 - 설치부터 인터셉터까지 (0) | 2026.09.22 |
| [CS] 스택(Stack)이란 - 구조와 활용 예시 (0) | 2026.09.21 |
| [CS] Call By Value vs Call By Reference 차이 (1) | 2026.09.19 |