Application program들이 Interface(접점면)을 가지고 서로
소통을 할 수 있게 하는 하나의 창구이다.
즉, API는 응용프로그램 간에 데이터를 주고 받는 방법 이라고
할 수 있다. 또는 응용프로그램 간에 소통하는 방법
OPEN API
: open api란 , 기업들이나 어떤 서비스를 제공하는 업체가
자신들의 서비스를 API를 통해 이용할 수 있게 제공하는 것
이유?
: api를 잘 활용하는 기업은 자신들의 비즈니스를 빠르고 유연하게
변화시킬 수 있으며 API를 기반으로 생태계를 구축하고 수익성 또한
도모할 수 있다.
ex) 수익성의 경우 어느 기업이 A기업의 API를 요청하여
무언가의 서비스를 구축했다면 , 그에 대해서 호출 수수료 등을 부과할 수
있고, A기업의 API를 통해 A기업이 유용하게 활용할 수 있는 서비스를
구축한 기업과는 파트너쉽을 체결하는 등으로 수익성이 연결될 수 있고,
서비스가 확장될 수 있다.
또한 API단으로 서비스를 나눔으로써, 자신의 기업의 서비스를 확장시키는
것이 굉장히 용이해진다.
REST API란 ?
: 즉, HTTP 요청을 보낼 때에
어떤 URI에 어떤 메소드를 사용할지,
개발자들 사이에 널리 사용되는 약속이다.
REST API의 구성 요소
1. HTTP method
- get (데이터 조회)
- post (새로운 데이터 추가)
- put (데이터 전체 수정)
- patch (데이터 일부 수정)
- delete (정보 삭제)
URL - 데이터 접근
데이터마다 접근할 수 있는 고유한 URL이 존재해야 한다.
Representation - 자원의 표현
: URL만으로도 어떤 자원을 제공하는지 확인 가능해야 한다.
각 http method가 하는 일이 정의함에 따라서
method만을 보고서 어떠한 기능을 하는지 추측 가능
고로 잘 만들어진 api는 URL만을 보고도 어떠한 역할을 하는지
알 수 있다
여기서 요청을 보낼 api는 open-api로 확인해서 테스트 해볼 수 있다.
대부분의 api는 api인증을 위한 키를 발급받아서 사용한다
developer console에서 사용 신청 후 키를 발급받아
각 기업의 개발자 사이트에 접속해서 인증받고 api활용 방식 확인가능
vscode에서 rest client extension을 설치하고
.http확장자로 파일을 만든 뒤 method와 URL을 입력해
send request보낸 결과를 바로 확인할 수 있다.
kakao developer 홈페이지 -> 내 어플리케이션 ->
애플리케이션 추가하기 -> 정보 입력 ->
키 생성 되면 절대 노출 x
kakao developer 홈페이지에서 가이드 문서를 통해
따라하면서 open-api를 사용해 볼 수 있다.
Insomnia
api를 테스트 하기 좋은 프로그램
REST API의 자원 표현을 위한 URL 설계 규칙
1. 소문자만 사용
2. 하이픈은 사용하지 않고 밑줄을 사용
3. 확장자를 표시하지 않음
Interface의 예시)
키보드는 우리가 자주 사용하는 Interface 중 하나인데,
input으로 우리가 무언가를 키보드로 입력하면 컴퓨터에서
동작하는 어떤 프로세스의 응용프로그램에 event로써 동작할 수 있다.
User Interface 줄여서 UI라고 부르는 것:
어떠한 웹서비스나 앱 서비스에 어떤 버튼이나 content들을
제공함으로써 사용자가 무언가를 누르거나 확인하면서 디지털 기기에
명령을 내리는 방법을 의미하는데
이때 , UI를 어떻게 만드는지에 대한 방법에 따라
사용자는 경험과 생각을 가질 수 있고 , 이를 확장하여 요새는
User Experience 줄여서 Ux라는 단어가 많이 사용되고 있다.