| Method | Request Body | Response Body | Safe | Idempotent | Cacheable |
|---|---|---|---|---|---|
| GET | Optional | Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| HEAD | Optional | No | ✅ Yes | ✅ Yes | ✅ Yes |
| POST | Yes | Yes | ❌ No | ❌ No | ✅ Yes |
| PUT | Yes | Yes | ❌ No | ✅ Yes | ❌ No |
| DELETE | Optional | Yes | ❌ No | ✅ Yes | ❌ No |
| CONNECT | Optional | Yes | ❌ No | ❌ No | ❌ No |
| OPTIONS | Optional | Yes | ✅ Yes | ✅ Yes | ❌ No |
| TRACE | No | Yes | ✅ Yes | ✅ Yes | ❌ No |
| PATCH | Yes | Yes | ❌ No | ❌ No | ❌ No |
Optional: 있을 수도 있고 없을 수도 있다.
GET 메서드는 데이터를 조회만 하므로 안전하다. POST, PUT, DELETE, PATCH는 데이터를 생성·수정·삭제하기 때문에 안전하지 않다.GET, PUT, DELETE는 멱등성을 보장한다. POST는 멱등성을 보장하지 않는다.GET, HEAD, POST는 캐시 가능 GET, HEAD만 캐시로 사용| 코드 | 의미 | 설명 |
|---|---|---|
| 2xx | 성공 | 요청이 성공적으로 처리됨 |
| 3xx | 리다이렉션 | 다른 URI로 이동 필요 (예: 구글/카카오 로그인 같은 상황에서 자주 나옴) |
| 4xx | 클라이언트 오류 | 잘못된 요청, 권한 문제 등 |
| 5xx | 서버 오류 | 서버 내부 문제로 처리 실패 |
/users O /getUsers X / 붙이지 않기 _ 대신 - 사용, 대문자 사용하지 않기 .svg, .png, .exe) 포함하지 않기 /users/1/posts 처럼 상위-하위 관계 표현자바 코드에 메타데이터를 추가하여,
컴파일러나 런타임에서 특정 동작을 수행하도록 하는 기능
예시:
@Override : 상속받은 메서드를 재정의@Autowired : 스프링이 자동으로 의존성 주입@RestController, @Service, @Repository : 역할 지정복잡한 기능을 단순하게 사용할 수 있도록 도와준다.
반복적인 코드(보일러플레이트)를 자동으로 생성해주는 라이브러리
@Getter, @Setter : getter/setter 자동 생성 @ToString : toString() 자동 생성 @AllArgsConstructor : 모든 필드를 매개변수로 받는 생성자 생성 @NoArgsConstructor : 기본 생성자 생성 @Slf4j : Logger 객체 자동 생성 (로그 출력용)getter/setter, 생성자, toString() 등
반복적으로 작성되는 코드들을 의미한다.