반응형
📡 파이썬 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 서버입니다.
- 실제 개발에서는 인증 토큰, 예외 처리, 헤더 설정 등도 추가해야 합니다.
반응형
'온라인 멘토와 함께하는 공부 > 인공지능' 카테고리의 다른 글
REST API란 무엇인가? (0) | 2025.04.01 |
---|---|
ChatGPT와 협업하는 게임 시나리오 만들기 (2) | 2025.03.29 |
[ChatGPT] 제공된 정보 편집이 가능한 ChatGPT 편집 아이콘 (1) | 2025.03.24 |
워드 클라우드(Word Cloud) (2) | 2025.03.20 |
텍스트 마이닝(Text Mining) (2) | 2025.03.19 |