📌 API URI 설계
=> 리소스 식별이 중요하다
ex) 회원을 등록한다 => "회원"이 리소스
결론: 회원 리소스를 URI에 매핑해야함
ex)회원 목록 조회 /members
회원 조회 /members/{id}
회원 등록 /members/{id}
회원 수정 /members/{id}
회원 삭제 /members/{id}
이렇게 같게 생겼으면 어떻게 구분하는가?
=> 리소스와 행위를 분리하자
리소스: 회원 / 행위: 조회, 등록, 수정, 삭제
이걸 구분하기 위해 HTTP 메서드를 ,,!
HTTP 주요 메서드
GET: 리소스 조회
POST: 요청 데이터 처리, 주로 등록에 사용
PUT: 리소스를 대체, 해당 리소스가 없으면 생성
PATCH: 리소스 부분 변경
DELETE: 리소스 삭제
<개인적으로 헷갈리는 메서드>
📌 POST
- 요청 데이터 처리
- 메시지 바디를 통해 서버로 요청 데이터 전달
- 서버는 요청 데이터를 처리
- 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다.
ex)
클라이언트 서버
{ {
"username": "mintol" =======POST=========> "username": "mintol"
"age": 29 "age": 29
} }
이런식으로 신규 리소스를 생성한다
📌 PUT
- 리소스를 대체
- 리소스가 있으면 대체하고 없으면 생성한다 (덮어씌움)
- 클라이언트가 리소스를 식별
중요! 리소스를 "완전히" 대체한다 (부분수정 x)
📌PATCH
-리소스 부분 변경
ex)
기존 서버 리소스
{
"username": "mintol"
"age": 29
}
클라이언트 서버
{ {
=======PATCH========> "username": "mintol"
"age": 30 "age": 30
} }
(username 필드 x) (age만 부분 수정)
(post와 patch가 헷갈려서 정리해보았다)
'Coding > Spring(Boot)' 카테고리의 다른 글
| 시큐리티 / 스웨거 문제 (0) | 2025.01.16 |
|---|---|
| Swagger란? (0) | 2025.01.09 |
| [Spring Boot] Open API 이미지가 일부만 없는 경우(대체이미지 사용) (0) | 2024.07.19 |
| [Spring Boot] Entity에 _(언더바) 붙은 필드 리포지토리가 인식 못하는 경우 (0) | 2024.07.16 |
| [Spring Boot] 공공데이터포털 Open api 불러오기 (0) | 2024.07.11 |