CRUD를 수행하기 위해 리소스로 요청을 보내는 형태로 표현되는 API. 주소에 명사, 요청 방식에 동사(Creat, Read, Update, Delete)를 사용해 의도를 명확히 드러낸다. 아래 디자인 원칙에 따라 설계되어야 한다.
1.균일한 인터페이스: 동일 리소스에 대한 모든 API요청은 출처와 관계 없이 동일하게 보여야 함
2.클라이언트-서버 디커플링: 클라이언트와 서버는 완전히 독립적일 것
3.Stateless: 작업을 위한 상태정보를 따로 저장하거나 관리하지 않음. 각 요청에서 이의 처리에 필요한 모든 정보를 포함해야 함
4.캐싱 가능성: 리소스를 클라이언트 혹은 서버측에서 캐싱할 수 있어야 함.
5.계층 구조 아키텍처: 호출과 응답이 서로 다른 계층을 통과함. 계층을 통과하면서 직접 연결되는지 중개자가 있는지는 알 수 없도록 설계할 것.
6.코드 온디맨드(옵션): 일반적으로는 정적 리소스를 전송하나, 특정한 경우(on demand) 실행 코드를 포함할 수도 있음.
- IBM Cloud Education. (n.d.). Rest-apis. IBM. Retrieved November 5, 2021, from https://www.ibm.com/kr-ko/cloud/learn/rest-apis.