본문 바로가기
온라인 멘토와 함께하는 공부/인공지능

파이썬 requests 모듈을 활용한 REST API 요청 예제

by 열공노년 2025. 3. 31.
반응형

 

📡 파이썬 requests 모듈을 활용한 REST API 요청 예제

import requests

# 기본 URL 설정
BASE_URL = "https://jsonplaceholder.typicode.com/posts"

# GET 요청 함수 (모든 게시글 가져오기)
def get_posts():
    response = requests.get(BASE_URL)
    if response.status_code == 200:
        return response.json()
    else:
        return f"Error: {response.status_code}"

# POST 요청 함수(새로운 게시글 생성)
def create_posts(title, body, user_id):
    data = {
        'title': title,
        'body': body,
        'userId': user_id
    }
    response = requests.post(BASE_URL, json=data)
    if response.status_code == 201:
        return response.json()
    else:
        return f"Error: {response.status_code}"

# PUT 요청 함수(기존 게시글을 변경)
def update_posts(post_id, title, body, user_id):
    data = {
        'id': post_id,
        'title': title,
        'body': body,
        'userId': user_id
    }
    response = requests.put(f"{BASE_URL}/{post_id}", json=data)
    if response.status_code == 200:
        return response.json()
    else:
        return f"Error: {response.status_code}"

# 함수 호출 및 결과 출력
print("GET 요청 결과:", get_posts()[:2])  # 처음 두 개의 게시글만 출력
print('-'*100)
print("POST 요청 결과:", create_posts("새로운 제목", "새로운 내용", 1))
print('-'*100)
print("PUT 요청 결과:", update_posts(1, "수정된 제목", "수정된 내용", 1))

🔍 설명

✅ get_posts()

  • 모든 게시글을 가져옵니다.
  • 응답 코드가 200일 경우, JSON 데이터를 반환합니다.
  • 결과가 많을 수 있어서 [:2]로 앞의 두 개만 출력했습니다.

✅ create_posts(title, body, user_id)

  • 새 게시글을 생성하는 POST 요청을 보냅니다.
  • 제목, 내용, 사용자 ID를 받아서 서버에 전송합니다.
  • 응답 코드 201(Created)이 올 경우 결과 JSON을 반환합니다.

✅ update_posts(post_id, title, body, user_id)

  • 특정 게시글을 수정하는 PUT 요청입니다.
  • 게시글 ID를 포함해 수정할 내용을 전송합니다.
  • 응답 코드 200(OK)이면 수정된 내용을 반환합니다.

🧪 실행 결과 예시

실제로 실행하면 아래와 같은 형식의 결과가 출력됩니다:

GET 요청 결과: [{'userId': 1, 'id': 1, 'title': '...', 'body': '...'}, {...}]
----------------------------------------------------------------------------------------------------
POST 요청 결과: {'title': '새로운 제목', 'body': '새로운 내용', 'userId': 1, 'id': 101}
----------------------------------------------------------------------------------------------------
PUT 요청 결과: {'id': 1, 'title': '수정된 제목', 'body': '수정된 내용', 'userId': 1}

💡 활용 팁

  • requests는 외부 서버와 통신할 때 가장 많이 사용되는 파이썬 라이브러리입니다.
  • JSONPlaceholder는 연습용으로 활용하기 좋은 가짜 API 서버입니다.
  • 실제 개발에서는 인증 토큰, 예외 처리, 헤더 설정 등도 추가해야 합니다.

 

반응형