이론 : Rest, Json, Annotation이 무엇인가
실습 : 두 수를 더하는 API 작성 ex) “http://localhost:8080/add/3/4” 7이 나오도록 작성
Representational state Transfer의 약자
API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처
자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미함.
→ 자원의 표현에 의한 상태 전달
HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미
균일한 인터페이스
(번외: 균일한 인터페이스를 위한 4가지 아키텍처 제약 조건)
요청은 리소스를 식별해야 함. 이를 위해 균일한 리소스 식별자를 사용함
클라이언트는 원하는 경우 리소스를 수정하거나 삭제하기에 충분한 정보를 리소스 표현에서 가지고 있음. 서버는 리소스를 자세히 설명하는 메타 데이터를 전송해 이 조건을 충족함.
클라이언트는 표현을 추가로 처리하는 방법에 대한 정보를 수신함. 이를 위해 서버는 클라이언트가 리소스를 적절하게 사용할 수 있는 방법에 대한 메타 데이터가 표함된 명확한 메시지를 전송함.
클라이언트는 작업을 완료하는 데 필요한 다른 모든 관련 리소스에 대한 정보를 수신함. 이를 위해 서버는 클라이언트가 더 많은 리소스를 동적으로 검색할 수 있도록 표현에 하이퍼링크를 넣어 전송함.
무상태
계층화 시스템
캐시 가능성
온디맨드 코드