API
blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/ 참고하여 작성
© 위시캣
- API : 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- API의 역할 : 프로그램이 명령을 내릴 수 있도록 명령 목록을 정리하고, 명령을 받으면 응용 프로그램과 상호작용하여 요청된 명령에 대한 값을 전달한다.
- 허용된 사람에게만 접근성 부여
- 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 도움
- 접속 표준화
- API 유형 : private API (제 3자에게 노출 X) , public API (모두에게 공개) , partner API (특정인만 사용)
REST API
- REST : Representational State Transfer
- REST API의 구성
- 자원 - URL
- 행위 - HTTP method
- 표현
- REST의 특징
- URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행
- 무상태성 성격, 작업을 위한 상태정보를 따로 저장하고 관리하지 않음, 들어오는 요청만을 단순히 처리
- HTTP가 가진 캐싱 기능이 적용 가능
- 웹 캐쉬: client가 요청하는 html, image, css 등에 대해 첫 요청 시에 파일을 내려받아 특정 위치에 복사본 저장 > 동일한 URL의 Resource 요청은 다시 내려 받지 않고 내부에 저장한 파일 사용 > 처리 속도 향상
- REST API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조
- REST 서버 : API 제공, 클라이언트 : 사용자 인증이나 컨텍스트(세션, 로그인 정보) 등 직접 관리 >> 역할을 확실히 구분
- 계층형 구조
- REST API 설계 시 중요한 항목
- URI는 정보의 자원을 표현해야 한다.
- 자원에 대한 행위는 HTTP method (GET, POST, PUT, DELETE)로 표현한다.
| Method |
역할 |
| POST |
해당 URI를 요청하면 리소스를 생성 |
| GET |
해당 리소스 조회, 자세한 정보 가져옴 |
| PUT |
해당 리소스 수정 |
| DELETE |
리소스 삭제 |