REST(Representational State Transfer API)의 약자로, 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든것을 의미.
1) URI는 정보의 자원을 표현해야한다.
리소스:
회원
(명사)
행위 : (동사)
- 회원 목록 조회 /members
- 회원 조회 /members/{id}
- 회원 등록 /members/{id}
- 회원 수정 /members/{id}
- 회원 삭제 /members/{id}
2) 자원에 대한 행위는 HTTP Method(GET,POST,PUT,DELETE)로 표현한다.
- URI에 HTTP Method가 들어가면 안된다.
ex)GET /members/delete/1
👉DELETE /members/1
- 행위에 대한 동사표현이 들어가면 안된다.(CRUD기능을 나타내는것은 URI에 사용X)
ex)GET /members/insert/1
👉POST /members/2
3) 마지막에 슬래시 (/)를 포함하지 않는다.
4) 언더바(_) 대신 하이픈(-)을 사용한다.
5) 파일 확장자는 URI에 포함하지 않는다.
메서드 | 역할 | 설명 |
---|---|---|
GET | 리소스 조회 | 서버에 전달하고 싶은 데이터 query(쿼리 파라미터)로 전달 |
POST | 요청 데이터 처리, 주로 등록에 사용 | 메시지 바디를 통해 서버로 요청 데이터 전달 ➡ 들어온 데이터를 처리하는 모든 기능 수행 |
PUT | 리소스를 완전히 대체, 해당 리소스가 없으면 생성 | 💡중요! 클라이언트가 리소스를 식별! 클라이언트 가 리소스 위치를 알고 URI 지정(POST와 차이점)리소스를 완전히 대체 ex) username 필드와 age 필드가 있을 때 age 필드만 보낼경우 username 필드는 삭제 된다.(완전 덮음) |
DELETE | 리소스 삭제 |