API (Application Programming Interface)
개발을 하다보면 내 코드가 직접 다 할 수 없는 일을 직면하게된다.
바로 로그인, 랭킹 조회, 결제, 지도, 푸시 알림처럼 외부 기능/데이터를 가져와야 할 때가 대표적이다.
이때 프로그램끼리 기능을 주고받기 위한 약속(규칙)이 필요한데,
그게 바로 API(Application Programming Interface) 이다.
오늘은 API의 개념을 정리하고,
요청(Request)과 응답(Response)이 어떻게 오가는지 살펴볼 예정이다.
1) API (Application Programming Interface) 란?
API는 프로그램이 다른 프로그램의 기능을 요청/응답으로 사용할 수 있도록 정해둔 규칙(인터페이스)이다.

2) API가 필요한 이유는?
API가 없으면,
다른 기능을 쓰기 위해 내부 구현까지 알아야 한다.
반대로 API가 있으면 우리는 정해진 형식으로 요청만 하면 된다.
+++
특징
구현을 몰라도 기능 사용 가능
클라이언트/서버 역할 분리
변경에 강함(규칙만 유지하면 내부는 바꿀 수 있음)
3) Web API의 기본 흐름 (요청/응답)

Web API는 보통 HTTP로 통신한다.
클라이언트(Unity)가 요청(Request)을 보내고,
서버가 처리 후 응답(Response)을 돌려준다.
응답은 보통 Status Code + 데이터(JSON) 형태다.
4) Unity에서 API를 사용할때는?

Unity에서는 보통 UnityWebRequest로 Web API를 호출한다.
API 호출 흐름(4단계)
1.요청 만들기
(주소/메서드/헤더/바디)
2. 보내기
(SendWebRequest)
3. 결과 확인
(성공/실패, 상태코드)
4. JSON 파싱 후 게임 로직 반영
(UI 갱신 등)
예시 코드
using UnityEngine;
using UnityEngine.Networking;
using System.Threading.Tasks;
public async Task CallApiAsync(string url)
{
// GET 방식으로 url에 요청 생성
using (var req = UnityWebRequest.Get(url))
{
// 요청 설정: 헤더 추가(예: 인증 토큰 전달)
req.SetRequestHeader("Authorization", "Bearer <token>");
// 요청 보내기 + 완료까지 대기(비동기)
await req.SendWebRequest();
// 결과 확인: 성공/실패 판단
if (req.result == UnityWebRequest.Result.Success)
{
string json = req.downloadHandler.text;
// (이 부분에서 json을 JsonUtility / Newtonsoft 등으로 파싱해서 UI 갱신 등에 사용)
}
else
{
// 에러 처리
Debug.LogError($"{req.responseCode} / {req.error}");
}
}
}
5) 오늘의 한 줄 요약
『 API는 소프트웨어 간 상호작용을 위해 정해둔 인터페이스(규칙/명세)다. 』
'1일 1 cs' 카테고리의 다른 글
| 18. 이진 트리 순회(Traversal)란? (0) | 2026.02.02 |
|---|---|
| 17. 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이란? (0) | 2026.02.01 |
| 16. 그래프(Graph)와 트리(Tree)란? (0) | 2026.01.31 |
| 15. Fake Null 이란? (0) | 2026.01.30 |
| 14. 정렬 알고리즘이란? (0) | 2026.01.29 |
