[CS지식의 정석]API 기본개념 정리 (feat. 로켓CV 프로젝트 API명세서)

박두팔이·2023년 8월 8일
0

CS컴퓨터과학

목록 보기
3/13

API 기본개념

API(API, Application Programming Interface)란?

컴퓨터 프로그램끼리 통신하는 방법이다. 즉, 컴퓨터와 컴퓨터 사이에 있는 중계 계층.

API 작동방식

A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 할 때 어떻게 통신할 것인지, 어떠한 데이터를 주고 받을 건지 등에 대한 방법이 정의된 중계계층이 API명세서이다.

사용자가 브라우저를 통해 서버에 요청을 하면 API가 중간에서 처리하여 직접 서버의 데이터베이스에 접근하는 것을 막아준다.

API 장점

  1. 제공자 입장: DB 설계 구조나 드러내고 싶지 않은 데이터베이스의 테이블 정보, 서버의 상수값 등을 드러내지 않고 드러내고 싶은 부분만을 드러낼 수 있다.

    또한, 필요한 데이터가 발생할 때 해당 API를 호출하여 한곳에 모을 수 있다.

  2. 사용자 입장: 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보만을 받을 수 있다.

  3. 내부 DB, 서버의 로직이 변경이 되어도 매번 사용자가 앱을 업데이트하지 않아도 된다.

API 종류

  • API 접근권한 종류
권한 유형설명활용 예시
private내부적으로 사용되며 주로 hash-key를 이용한 서버 간 통신비즈니스 파트너와의 비밀스러운 통신
public누구나 사용 가능하며 일일 요청 제한 등으로 관리공개적인 서비스로 많은 사용자에게 제공

Private API는 내부에서 사용되며, 주로 hash-key를 활용하여 서버 간의 통신을 수행한다. hash-key를 공유함으로써 비밀스러운 정보를 안전하게 주고받을 수 있다.

Public API는 누구나 사용 가능한 열린 API다. 일반적으로 많은 사용자에게 서비스를 제공하기 위해 사용되며, 하루 요청 횟수의 제한 등의 방법으로 트래픽을 관리한다. 공개적인 서비스에서 활용되며, 다양한 사용자들이 API를 이용할 수 있다.

ex) ⬇️ 네이버 검색 - 일일 25000회로 제한한 예


API명세서 작성하기

로켓CV 프로젝트 API보기 👆🏻 click!!

미리보기

우리 프로젝트에서는 각각의 기능설명과 HTTP메소드, 엔트포인트, 상태코드, JSON타입으로 요청 및 응답으로 API명세서를 작성하였다.

profile
기억을 위한 기록 :>

0개의 댓글