REST API란?
- REST : 리소스 와 행위 를 명시적이고 직관적으로 분리하는 웹 아키텍쳐. 리소스는 URL이고 행위는 HTTP method(crud)이다.
- REST 의 기본 원칙을 성실히 지킨 서비스 디자인은 'RESTful'하다라고 표현할 수 있다.
REST API의 활용
- API 서버로의 활용 : JWT 토큰 등 활용을 통해 보안성 강화
- 싱글 웹 페이지 구현
- 프론트 엔드와의 협업. 서버 사이드 렌더링이 아닌 클라이언트 사이드 렌더링 구현 가능.
REST API 설계 과정
- http method를 crud에 맞춰 사용한다.
- method가 url에 포함되지 않도록 한다.
- post abc.com/insert/3 -> post abc.com/3
- get abc.com/search/5 -> get abc.com/5
- url에 식별자와 목표하는 데이타가 있을 경우 배치를 잘 해야 한다.
- 유저 누구의 취미를 검색한다면 아래와 같이 할 수 있다.
- GET : /users/{userid}/hobbies 이런식으로 표현한다.
- 리소스의 계층과 관계를 설정하여 url을 설계한다.
- http의 상태코드와 예외를 사용한다.
- header를 통해 상태코드와 메시지를 보낼 수 있다.
- 200 / 400 등을 잘 활용하자.
- put / patch의 구별은 보통 전체를 바꿀 때 put을 쓰고 일부분을 바꿀 때 patch를 사용.