본문 바로가기
Study

[CS] API 이해하기

by JaeHoist 2025. 9. 16.

1. API란?

  • Application Programming Interface의 약자로, 서로 다른 소프트웨어나 시스템이 정보를 주고 받을 수 있도록 중간에서 연결해주는 역할을 한다.
  • 어떠한 방식으로 정보를 요청해야 하는지, 그리고 그러한 요청을 보냈을 때 어떠한 형식으로 무슨 데이터를 전달 받을 수 있는지에 대해 정리한 일종의 규격
  • 소프트웨어 간 소통을 가능하게 하는 일종의 "메신저" 역할

2. API 쉽게 이해하기

  • 레스토랑에서 음식을 주문 하는 상황
    1. 고객이 웨이터에게 원하는 메뉴를 주문합니다.
    2. 웨이터는 주방에 주문을 전달합니다.
    3. 주방에서 음식을 조리한 후 웨이터를 통해 고객에게 전달합니다.
  • 여기 웨이터의 역할이 바로 API와 같다.
    • API는 고객(클라이언트)과 서비스(서버) 사이에서 요청을 전달하고, 그에 대한 응답을 받아 다시 사용자에게 전달하는
      역할을 하는 것이다.

3. API 설계와 활용

  1. API 구현(작성) 방법
    1. REST API
      • REST의 설계 규칙을 잘 지켜서 설계된 API
        1. URI는 명사를 사용한다.
        2. 슬래시(/)로 계층 관계를 표현한다.
        3. URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
        4. 밑줄(_)을 사용하지 않고, 하이픈(-)을 사용한다.
        5. URI는 소문자로만 구성한다.
        6. HTTP 응답 상태 코드를 사용한다.
        7. 파일 확장자는 URI에 포함하지 않는다.
    2. OPEN API
      • 누구나 쓸 수 있도록 공개된 API
      • 다양한 데이터를 자유롭게 가져다가 서비스를 개발 하는데 쓸 수 있다.
      • API문서를 보고 활용할 수 있다.
  2. API 결과(데이터 제공 형식)
    • JSON
    • XML
  3. API 활용 방법
    • API 문서를 통해 어떤 기능을 불러올 수 있는지, 각 기능에 필요한 정보를 받아오기 위해서는 어떠한 방식으로 요청해야 하는지 등을 보고 활용

 

4. API의 필요성

  1. 개발 및 관리의 효율성
    • 실제로 서비스가 어떻게 구현되었는지즌 몰라도 그 서비스를 그대로 가져다 사용할 수 있다. (마치 블럭 처럼 가져다 쓸 수 있다)
    • 따라서 개발 시간이 줄어들고 개발에 필요한 비용도 아낄 수 있다.
    • API 문서만 보면 누구나 쉽게 이해할 수 있어, 협업에 용이하고 유지보수도 수월하다.
  2. 유연성, 확장성
    • 블럭처럼 가져다가 사용할 수 있으니 타사 서비스와의 연계가 수월 하다

참고:

https://blog.naver.com/techref/223796979034?trackingCode=rss

https://enjoyinjoanne.tistory.com/56