RESTful API 구성 요소
- 자원(resource) : URI
- 행위(verb) : HTTP Method
- 표현(representations) : HTTP Message Body
1. URI -> 정보의 자원을 표현, 명사, 복수형 사용
GET /users/1
2. 자원에 대한 행위는 HTTP Method(POST, GET, PUT, DELETE)로 표현
POST /users/sign-up
POST /users/log-in
GET /users
URI 설계시 주의
1. 마지막에 슬래시(/) 포함 x
2. underbar(_) 대신 dash(-) 사용
3. 소문자 사용 -> 대소문자에 따라 다른 리소스로 인식하기 때문
4. 행위는 포함하지 않음
HTTP Method
GET과 DELETE는 body X
POST, PUT, PATCH만 body 필요
회원 탈퇴 API → PATCH status : active -> inactive (DELETE x)
리소스가 애매한 상황
차단하기 API → POST /blocked-list
로그인 → 현업에서
- POST /sign-in (회원가입이랑 헷갈릴 수 있기 때문에 in)
- POST /login
- POST /users
Path Variable
GET /users/{userid}
/users/{userid}/jobs/{jobid}
// path variable 단위로 끊어주기
Query String
/users?name="hyeok"
// 이름 기준으로 하고 싶다