본문 바로가기
React/개념

API

by hihijh826 2024. 10. 25.
728x90
반응형
SMALL

📍API의 주요 개념

API(응용 프로그램 프로그래밍 인터페이스, Application Programming Interface)

소프트웨어 애플리케이션 간의 상호작용을 위한 규칙과 프로토콜을 정의하는 것

📍API의 주요 개념

1.  인터페이스: API는 두 개의 소프트웨어 시스템이 서로 통신할 수 있도록 해주는 중간 역할

예를 들어, 웹 애플리케이션이 데이터베이스와 상호작용할 때 API를 사용

 

2. 데이터 형식: API는 데이터를 주고받기 위해 여러 형식을 사용

JSON은 그 중 하나로, 가볍고 읽기 쉬운 데이터 형식입니다. API는 JSON 외에도 XML, YAML 등의 형식을 사용 가능

 

3. HTTP 요청: 웹 API는 일반적으로 HTTP 프로토콜을 사용하여 요청과 응답을 처리

클라이언트(예: 웹 브라우저 또는 모바일 앱)가 API 엔드포인트에 요청을 보내면, 서버가 응답을 반환 

 

📍API의 사용 예시

  • 데이터 조회(GET): 클라이언트가 API를 통해 서버에 요청을 보내고, 서버는 데이터베이스에서 정보를 조회하여 JSON 형식으로 응답
  • 데이터 생성(POST): 클라이언트가 API를 통해 새로운 데이터를 서버에 전송하면, 서버는 이를 데이터베이스에 저장
  • 데이터 수정 및 삭제(PUT,DELETE): API를 사용하여 기존 데이터를 수정하거나 삭제

 

📍JSON과 API

JSON (JavaScript Object Notation): 경량의 데이터 교환 형식으로, 주로 웹 API에서 데이터를 주고받는 데 사용JSON은 사람이 읽기 쉬우며, 대부분의 프로그래밍 언어에서 쉽게 파싱 가능.

 

 

📍API 예시

이 페이지는 The Movie Database (TMDb) API의 Rated Movies 엔드포인트를 보여주는 화면

1. API 정보

  • HTTP 메서드: GET
  • 엔드포인트: https://api.themoviedb.org/3/account/{account_id}/rated/movies
    • account_id는 필수 경로 매개변수로, 특정 사용자의 고유 ID입니다.

2. 최근 요청 (recent requests)

  • 요청의 시간, 상태(200 OK), 그리고 사용자 에이전트를 보여줍니다.
  • 예시로 최근 3개의 요청이 있었고, 모두 성공적으로 처리되었습니다.

3. 경로 매개변수 (Path Parameters)

  • account_id: 필수 매개변수로, 영화에 대한 평점을 조회할 사용자의 ID입니다. 기본값은 20558873입니다.

4. 쿼리 매개변수 (Query Parameters)

  • language: 응답의 언어를 설정합니다. 기본값은 en-US입니다.
  • page: 결과의 페이지 번호를 설정합니다. 기본값은 1입니다.
  • session_id: 사용자 세션을 식별하는 문자열입니다.
  • sort_by: 결과를 정렬하는 기준입니다. 기본값은 created_at.asc입니다.

5. 응답 (Response)

  • 상태 코드: 200으로, 요청이 성공적으로 처리되었음을 나타냅니다.
  • 응답 본문: JSON 형식으로, 요청한 데이터의 구조를 보여줍니다.
    • page: 현재 페이지 번호.
    • results: 평점을 매긴 영화 목록 (현재는 비어 있음).
    • total_pages: 전체 페이지 수.
    • total_results: 전체 결과 수.

6. 라이브러리 및 요청 코드

  • 다양한 라이브러리(예: OkHttp, AsyncHttp, java.net.http 등)로 요청을 보내는 코드 예시가 제공됩니다. 사용자는 원하는 라이브러리를 선택하여 코드 샘플을 확인할 수 있습니다.

7. 기타

  • "Try It!" 버튼: 이 버튼을 클릭하면 실제 API 요청을 보내어 결과를 확인할 수 있습니다.

 

📍엔드포인트

엔드포인트(Endpoint)는 API에서 특정 자원이나 기능에 접근할 수 있는 URL을 의미.

API를 통해 요청을 보내면, 이 엔드포인트가 요청을 처리하고 응답을 반환합니다.

 

📍엔드포인트의 구성 요소

  1. HTTP 메서드: 요청의 종류를 나타냅니다. 일반적인 메서드로는 GET, POST, PUT, DELETE 등
    • GET: 데이터를 조회할 때 사용
    • POST: 새 데이터를 생성할 때 사용
    • PUT: 기존 데이터를 수정할 때 사용
    • DELETE: 데이터를 삭제할 때 사용
  2. URL: API 엔드포인트의 주소.  https://api.example.com/v1/resources와 같은 형태
  3. 경로 매개변수: URL의 일부로, 특정 자원을 지정하는 데 사용.  예를 들어, https://api.example.com/users/{user_id}에서 {user_id}는 특정 사용자를 나타냄
  4. 쿼리 매개변수: URL의 끝에 추가되는 추가 정보로, 요청을 필터링하거나 정렬하는 데 사용됨.   https://api.example.com/users?sort=age에서 sort=age는 결과를 나이순으로 정렬하라는 의미.

 

☑️ 예시

  • GET /api/users: 모든 사용자 정보를 조회하는 엔드포인트.
  • POST /api/users: 새로운 사용자 정보를 생성하는 엔드포인트.

 

📍백엔드에서 API와 JSON의 역할

  1. API 구현:
    • 백엔드는 클라이언트(프론트엔드)와 통신하기 위해 API 엔드포인트를 설정. 이 API는 특정 기능이나 데이터를 제공하는 역할을 함.
  2. 데이터 형식:
    • API는 클라이언트가 요청한 데이터에 대한 응답으로 JSON 형식을 사용하여 데이터를 반환. 
  3. 응답 예시:
    • 클라이언트가 특정 데이터를 요청하면, 백엔드는 데이터베이스에서 정보를 조회한 후, JSON 형식으로 응답. 예를 들어, 사용자의 정보를 요청한 경우, 응답은 다음과 같이 나타날 수 있습니다:
    {
      "id": 1,
      "name": "홍길동",
      "email": "hong@example.com"
    }
    
    
  4. HTTP 상태 코드:
    • API 응답에는 HTTP 상태 코드도 포함됩니다. 예를 들어, 요청이 성공적으로 처리되면 200 OK 상태 코드를 반환하고, 요청이 잘못된 경우 400 Bad Request와 같은 오류 코드를 반환합니다.

 

  1.  

 

728x90
반응형
LIST

'React > 개념' 카테고리의 다른 글

index.js 파일의 역할  (0) 2024.12.17
JSON SERVER  (0) 2024.10.25
아이콘 이용  (0) 2024.09.11
useParams  (0) 2024.02.02
useRef ( 외부 클릭시 모달 창 닫기 기능)  (0) 2024.02.02