반응형
API란?
Application Programming Interface
API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트이다.
내부의 구현 사항을 모두 드러내지않고 사용자가 필요한 부분만 노출해주는 것을 말한다.
API를 사용하면 구현 방식을 알지 못해도 제품 또는 서비스가 서로 커뮤티케이션할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있다.
REST란?
Reqresentational State Transfer
REST는 HTTP에서 필요한 자원에 접근할 때 웹의 장점을 최대한 활용하기 위한 아키텍처이다.
REST 아키텍처에 적용되는 가지 제한 조건
- 인터페이스 일관성 : 일관적인 인터페이스로 분리되어야 한다.
- 무상태 : 각 요청 간 클라이언트의 context, 세션과 같은 상태 정보를 서버에 저장하지 않는다. 요청마다 분리되어서 처리되어야 한다.
- 캐시 처리 가능: 클라이언트는 응답을 캐싱할 수 있어야 합니다. 캐시를 통해 대량의 요청을 효율적으로 처리할 수 있다.
- 계층화: 클라이언트는 대상 서버에 직접 연결되어있는지, 중간 서버를 통해서 연결되었는지 알 수 없다. 중간 서버는 로드 밸런싱 기능이나 공유 캐시 기능을 제공함으로써 시스템 규모 확장성을 향상시키는 데 유용하다.
- Code on demand(optional): 자바 애플릿이나 자바스크립트의 제공을 통해 서버가 클라이언트를 실행시킬 수 있는 로직을 전송하여 기능을 확장시킬 수 있다.
- 클라이언트/서버 구조: 아키텍처를 단순화시키고 작은 단위로 분리함으로써 클라이언트-서버의 각 파트가 독립적으로 구분하고 서로간의 의존성을 줄인다.
REST API의 구성요소
- HTTP Method
- GET: 데이터 조회
- POST: 새로운 데이터 추가
- PUT: 데이터 전체 수정
- PATCH: 데이터 일부 수정
- DELETE: 정보 삭제
- URL - 데이터 접근(데이터마다 접근할 수 있는 고유의 URL이 존재해야한다.)
- Representation - 자원의 표현(URL만으로 어떤 자원을 제공하는지 표현해야한다. 잘 만들어진 API는 URL만 보더라고 API를 어떻게 사용해야하는지 대충 알 수 있다.)
REST API의 자원 표현을 위한 URL 설계 규칙(권장사항)
- 소문자만 사용한다.
- 언더바(_)는 쓰지 않고, 필요시 하이픈(-)을 쓰되 지양한다.
- 확장자를 표시하지 않는다.
- 마지막에 슬래시를 포함하지 않는다.
- 행위는 포함하지 않는다.
- 가급적 전달하고자하는 자원의 명사를 사용하되, 컨트롤 자원을 의미하는 경우 예외적으로 동사를 허용한다.
VS CODE에서 REST API 사용해보기
VS CODE에서 REST API를 사용해 볼 수 있는 확장 프로그램(REST Client)이 있다고 해서 googlebooksAPI를 VS CODE에서 한번 사용해보았다.
- 확장 프로그램 REST Client를 설치한다.
- .http 확장자로 파일을 생성한다.
- 원하는 메소드와 URL을 작성후 Send Request를 누른다.(###으로 다른 Request를 작성할 수 있다.)
- Response를 확인한다.
참고사이트
반응형
'Back-end' 카테고리의 다른 글
Slack으로 OAuth 사용하기 (0) | 2022.10.31 |
---|---|
[HTTP] 응답 상태 코드 정리 (0) | 2021.09.14 |
[WEB] HTTPS와 SSL인증서 (0) | 2021.08.29 |
[WEB] HTTP 정리 (0) | 2021.08.29 |
Android Studio + Node.js + MySQL 프로젝트 파일 구조 (0) | 2021.08.22 |