hihijh826 2024. 10. 25. 00:14
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