파이썬에서 REST API 호출하기: Requests 라이브러리 활용법

파이썬에서 REST API 호출하기: Requests 라이브러리 활용법

안녕하세요, mj입니다! 오늘은 파이썬의 Requests 라이브러리를 사용하여 REST API를 호출하는 방법에 대해 알아보겠습니다. REST API는 다양한 웹 서비스와 데이터를 주고받을 수 있는 강력한 도구입니다. Requests 라이브러리를 통해 쉽게 API를 호출하고 응답을 처리할 수 있습니다.

1. Requests 라이브러리 소개

Requests는 파이썬의 HTTP 라이브러리로, API 호출을 간편하게 만들어줍니다. 설치는 간단하며, 커맨드 라인에서 다음 명령어를 입력하면 됩니다:

pip install requests

2. GET 요청 보내기

GET 요청은 서버에서 데이터를 요청하는 방법입니다. 예를 들어, JSONPlaceholder라는 무료 API를 사용해 보겠습니다. 다음은 GET 요청의 예시입니다:


import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.json())
    

위 코드를 실행하면 다음과 같은 출력이 나옵니다:


[
    {
        "userId": 1,
        "id": 1,
        "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
        "body": "quia et suscipit\nsuscipit..."
    },
    ...
]
    

응답 데이터 처리

응답 데이터는 JSON 형식으로 되어 있으며, 이를 파이썬의 데이터 구조로 변환할 수 있습니다. 아래와 같이 특정 필드를 추출할 수 있습니다:


posts = response.json()
for post in posts:
    print(post['title'])
    

3. POST 요청 보내기

POST 요청은 서버에 데이터를 전송하는 방법입니다. 아래는 새 포스트를 생성하는 예시입니다:


data = {
    'title': 'New Post',
    'body': 'This is a new post',
    'userId': 1
}

response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.json())
    

출력 결과:


{
    "title": "New Post",
    "body": "This is a new post",
    "userId": 1,
    "id": 101
}
    

4. PUT 요청 보내기

PUT 요청은 기존 데이터를 수정하는 방법입니다:


data = {
    'id': 1,
    'title': 'Updated Title',
    'body': 'This is an updated post',
    'userId': 1
}

response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.json())
    

출력 결과:


{
    "id": 1,
    "title": "Updated Title",
    "body": "This is an updated post",
    "userId": 1
}
    

5. DELETE 요청 보내기

DELETE 요청은 서버에서 데이터를 삭제하는 방법입니다:


response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)  # 204 No Content
    

결론

이제 Requests 라이브러리를 사용하여 REST API를 호출하고 응답을 처리하는 방법에 대해 잘 아시게 되었습니다. 간단한 GET, POST, PUT, DELETE 요청을 통해 다양한 API와 상호작용할 수 있습니다. 앞으로의 프로젝트에 많은 도움이 되길 바랍니다!

읽어주셔서 감사합니다! mj였습니다.