API ( Application Programming Interface ) : 응용 프로그래밍 인터페이스
API는 웹기반 데이터 반환 시스템이며
데이터베이스나 서버로 쉽게 접근 할수 있도록 수 많은 함수들을 관리 하는 코드이다.
API를 왜 사용하는가?
API를 사용하여 개발자가 공공 데이터 및 오픈 데이터를 활용한다는 개념은 익히 들어왔다.
예시) KAKAO, FACEBOOK 로그인
KAKAO, FACEBOOK 등 공공데이터에 이미 저장 되어있는 가입자의 고유 정보들을
KAKAO나 FACEBOOK에 직접 접속하지 않고도 외부로 정보 접근이 가능하도록
API형태로 개발 하여 배포를 하기 때문에 활용 할 수 있는 것이다.
>> 요청하는 서버 데이터를 API 함수 호출을 통해서 전달 받은 후 신규 서비스에 적용하여 편리하게 사용한다.
>> 웹서비스 개발 시에도 BE 개발자가 서버구축 및 API 개발을 완성하면 FE 개발 인력이 정해진 API 함수를 통해 원하는 데이터를 쉽게 호출하여 사용 할 수 있다.
그렇다면 JSON이란 무엇이고 왜 사용하는가?
JSON ( JavaScript Object Notation ) : 자바스크립트 객체 표기법(표현)
프로그래밍 언어도 아니고 문법도 아니고 단지 하나의 데이터 저장 방식이다 >> 그러나 JSON 규칙은 있다.
JSON은 "속성 : 값" 또는 "key : value"의 쌍으로 이루어진 데이터 객체를 전달하기 위해 만들어진 포맷이다.
흔히 개발된 API를 JSON 형식으로 호출하여 파싱한다는 표현을 사용한다.
JSON은JavaScript Object Notation의 줄임말로 JavaScript 객체들을 나타내는 데이터의 대표적인 표현 기법이다.
"PEOPLE":[
{"name":"FREEMOA", "age": 28},
{"name":"GREENJOA", "age": 32}
]
JSON 형식으로 호출 한 정보를 Javascript 를 활용하여 사용할 수 있도록 "파싱"하는 과정을 거치며
"PEOPLE" 이라는 객체가 가지고 있는 "FREEMOA", 28 이라는 데이터를 사용 할 수 있는 것이다.
정리하면, API 함수 호출 시 리턴 되는 형태가 JSON 형식으로 정리되어 그걸 FE에서 쓴다는 것
그렇다면 왜 JSON인가?
예전에 많이 사용하는 XML을 대체 -> XML은 헤비하고 너무 복잡하다.
JSON은 XML보다 훨씬 가볍고, 간결하고 쉽다.
XML vs JSON 비교
XML
<people>
<person>
<firstName>길동</firstName>
<lastName>홍</lastName>
</person>
<person>
<firstName>순신</firstName>
<lastName>이</lastName>
</person>
<person>
<firstName>감찬</firstName>
<lastName>강</lastName>
</person>
</people>
JSON
{
"people" : [
{"firstName" : "길동", "lastName" : "홍"},
{"firstName" : "순신", "lastName" : "이"},
{"firstName" : "감찬", "lastName" : "강"}
]
}