REST API란
REST(Representational State Transfer 의 약자로 소프트웨어 프로그램 아키텍처의 한 형식)
- HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는것을 의미.
- REST는 자원 기반의 구조(ROA: Resource Oriented Architecure) 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.
설계 가이드
-
설계 규칙
- URI 동사보다는 명사를 작성한다.
- 슬래시(/) 구분자는 계층 관계를 나타낸다.
- URI 마지막 문자로 슬래시(/)를 포함 시키지 않는다.
- URI 경로에는 소문자가 적합
- URI에 하이픈(-)은 가독성을 높이는데사용
- URI에 밑줄(_)은 사용하지 않는다.
- 파일 확장자는 URI에 포함시키지 않는다.(파일 포멧대신 Header에 Content –Type 헤더로 결정)
-
URI 디자인
- URI에 사용시 단수 명사를 사용
- 리스트사용시 복수 명사를 사용
- URI 경로중 CRUD 기능을 나타내는 것은 사용하지 않는다.
- URI 경로 부분 중 변하는 부분은 유일값으로 대체
-
요청 메서드 - 동일한 URI(End Point)에 행위에 맞게 메서드 활용(CRUD – SQL)
- POST
– 지정된 URI에 새 리소스를 생성 (Create – INSERT)
- GET
– 지정된 URI에서 리소스의 표현을 검색 (Read – SELECT)
- 응답해더를 가져올 때는 반드시 HEAD(GET과 동일하지만 BODY가 없음)메서드를 사용
- PUT
– 지정된 URI에 리소스를 만들거나 기존 리소스를 갱신(Update – UPDATE)
- 리소스 전체교체
- DELETE
– 지정된 URI의 리소스를 제거(Delete – DELETE)
- PATCH
– 리소스의 부분 업데이트를 수행(Update – UPDATE)
- 리소스의 부분 교체