이번 프로젝트에서 Binance API를 사용하여 코인과 차트에 관한 정보를 받아오고 하이차트 라이브러리를 활용해보았는데, 이를 사용하기 위해 API에 관한 이해가 필요할 것 같아서 정리해보기로 했다.
우선 내가 생각하는 API란 다른 사람이 제공해주는 정보들을 받기 위해 규칙을 지켜서 요청하고, 그에 따른 응답을 받아올 수 있는 것이라고 생각했는데, 이에 관한 강의를 보다가 한번에 이해할 수 있는 문장을 찾아낼 수 있었다. 거기선 "앱이 프로그래밍 언어로 상호작용 할때의 규칙"으로 API를 정의하고 있었는데 이 문장을 통해서 사용자가 각자의 프로그래밍 언어로 API에 요청을 보낼 때 지켜야할 규칙으로 다시 이해할 수 있었다.
API는 어떤 식으로 공개되어 있는지 알아보자면, 먼저 요청과 응답으로 나누어볼 수 있다. 아래는 카카오 책 검색 API를 가져온 예시이다.
| 1. 요청(request) | 2. 응답(response) |
| 1. 주소: https://dapi.kakao.com/v3/search/book | 1. 형식: JSON |
| 2. 전송 방식: GET | 2. 응답 의미 설명 |
| 3. 보낼 것 | title 도서 제목 |
| query 검색어(필수) | contents 도서 소개 |
| sort 정렬 방식(선택) | thumbnail 도서 표지 섬네일 URL |
| target 검색 대상(선택) |
이런 식으로 요청과 응답을 하게 되는데, 먼저 요청의 주소는 해당 API를 요청하기 위한 사이트의 주소라고 볼 수 있겠고, 전송 방식은 GET, POST로 나누어져 있는데, GET은 검색어를 주소창에 넣어서 보내는 형식이고, POST 방식은 주소창이 아니라 안보이는 곳에 넣어서 보내는 것을 POST 방식이라고 할 수 있다. 보낼 것에는 query 같이 필수적인 요소와 sort와 target 같은 선택적으로 보내도 되고 안보내도 응답이 오는 요소가 있으며, 사용자는 이러한 규칙을 지켜서 요청을 하게된다. 이에 따라 응답이 오게 되는데 보통 XML과 JSON 방식으로 오게 되는데, 요즘에는 대부분 JSON 방식을 선호하고 있다. JSON 방식은 자료의 한 형식으로 키-값의 패턴으로 표현된 자료형이다. {} 사이에 데이터가 들어가고, ","를 구분점으로 사용하여 키와 밸류로 자료가 넘어오게 된다. 이를 통해 응답 의미 설명에 나온 것이 키 값이고 그에 따른 밸류 값이 함께 응답으로 오게된다.
JSON 형식 예시
{
"이름": "홍길동",
"나이": "25",
"특기": ["농구", "도술"]
}
아래는 공개된 public api를 모아놓은 git에 관한 사진이다.

https://github.com/public-apis/public-apis
GitHub - public-apis/public-apis: A collective list of free APIs
A collective list of free APIs. Contribute to public-apis/public-apis development by creating an account on GitHub.
github.com
이를 통해 사용자는 미리 만들어진 api를 사용하여 좋은 사이트를 만들 수 있다.
'개념정리(JAVA)' 카테고리의 다른 글
| 개발자 면접 질문 정리 1 (3) | 2025.06.18 |
|---|---|
| IntelliJ 단축키 정리 (0) | 2025.03.31 |
| 제네릭 (1) | 2024.05.10 |
| 자료구조 (0) | 2024.04.17 |
| 가비지 컬렉션(Garbage Collection) (0) | 2024.03.28 |