[파이썬][Django] API 엔드포인트 함수 사용 방법과 예제

Django에서 API 엔드포인트 함수를 만들고 사용하는 방법과 예제를 제공하겠습니다. API 엔드포인트 함수는 Django 뷰 함수와 유사하지만, JSON 데이터를 반환하는 데 주로 사용됩니다.

  1. API 엔드포인트 함수 작성

    먼저, API 엔드포인트를 처리하는 함수를 작성합니다. 이 함수는 일반적으로 HttpResponse 객체를 반환하며, JSON 데이터를 포함합니다. 예를 들어, 간단한 API 엔드포인트 함수를 만들어보겠습니다.

# myapp/api.py
    
    from django.http import JsonResponse
    
    def get_user_info(request, user_id):
        # 데이터베이스에서 사용자 정보 조회
        user_data = {
            'user_id': user_id,
            'username': 'example_user',
            'email': 'user@example.com',
        }
        return JsonResponse(user_data)
이 함수는 사용자 정보를 JSON 형식으로 반환합니다.
  1. URL 매핑 설정

    API 엔드포인트 함수를 URL에 매핑해야 합니다. 이를 위해 Django의 URL 매핑 시스템을 사용합니다.

# myapp/urls.py
    
    from django.urls import path
    from myapp.api import get_user_info
    
    urlpatterns = [
        path('api/user/<int:user_id>/', get_user_info, name='get_user_info'),
    ]
위의 코드에서 `<int:user_id>`는 동적으로 변경되는 사용자 ID를 나타냅니다.
  1. API 엔드포인트 호출

    이제 API 엔드포인트를 호출하여 JSON 데이터를 가져올 수 있습니다. 예를 들어, Python의 requests 라이브러리를 사용하여 API 엔드포인트를 호출하는 방법은 다음과 같습니다.

import requests
    
    user_id = 123
    response = requests.get(f'http://example.com/api/user/{user_id}/')
    
    if response.status_code == 200:
        user_data = response.json()
        print(user_data)
    else:
        print('API 호출에 실패했습니다.')
위의 코드는 API 엔드포인트에서 반환된 JSON 데이터를 파싱하여 사용자 정보를 출력합니다.

이와 같이 Django에서 API 엔드포인트 함수를 만들고 사용하여 JSON 데이터를 반환하고 호출하는 방법을 알았습니다. 이를 통해 Django 애플리케이션에서 RESTful API를 개발할 수 있습니다.