[python] 웹 API 개발하기

이번에는 Python을 사용하여 웹 API를 개발하는 방법에 대해 알아보겠습니다. 웹 API는 다른 애플리케이션과의 통신을 위한 인터페이스로 사용됩니다. Python은 간단하고 효율적인 웹 API 개발을 위한 많은 도구와 라이브러리를 제공합니다.

Flask 라이브러리를 사용한 웹 API 개발

Flask는 인기 있는 Python 웹 프레임워크 중 하나로, 웹 애플리케이션 및 웹 API 개발에 널리 사용됩니다. 다음은 Flask를 사용하여 간단한 웹 API를 개발하는 예제입니다.

필요한 패키지 설치하기

먼저, Flask를 설치해야 합니다. 아래의 명령을 사용하여 Flask를 설치하세요.

pip install Flask

예제 코드 작성하기

from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/api/hello', methods=['GET'])
def hello():
    response = {
        'message': 'Hello, World!'
    }
    return jsonify(response)

if __name__ == '__main__':
    app.run()

API 엔드포인트 설명

위의 예제 코드는 /api/hello 엔드포인트에 대한 GET 요청에 대해 “Hello, World!”라는 메시지를 반환합니다.

서버 실행하기

예제 코드를 실행하려면 다음 명령을 사용하세요.

python app.py

Flask 서버는 기본적으로 http://127.0.0.1:5000/ 주소에서 실행됩니다.

API 테스트하기

API를 테스트하려면 웹 브라우저나 API 개발 도구를 사용하여 http://127.0.0.1:5000/api/hello 주소로 접속하세요. “Hello, World!”라는 메시지가 반환될 것입니다.

Django 라이브러리를 사용한 웹 API 개발

Django는 또 다른 인기 있는 Python 웹 프레임워크로, 웹 애플리케이션 및 웹 API 개발에 널리 사용됩니다. 다음은 Django를 사용하여 웹 API를 개발하는 예제입니다.

필요한 패키지 설치하기

Django를 설치하려면 다음 명령을 사용하세요.

pip install django

Django 프로젝트 및 앱 생성하기

Django 프로젝트를 생성한 뒤, 원하는 이름의 앱을 생성해야 합니다. 아래의 명령을 사용하세요.

django-admin startproject myproject
cd myproject
python manage.py startapp myapp

예제 코드 작성하기

아래의 코드는 myapp 앱의 api 디렉토리에 있는 views.py 파일에 작성되어야 합니다.

from django.http import JsonResponse

def hello(request):
    response = {
        'message': 'Hello, World!'
    }
    return JsonResponse(response)

URL 매핑 설정하기

myproject 디렉토리 안에 있는 urls.py 파일을 열고 다음 코드를 추가하세요.

from django.urls import path
from myapp.api import views

urlpatterns = [
    path('api/hello', views.hello),
]

서버 실행하기

다음 명령을 사용하여 Django 서버를 실행하세요.

python manage.py runserver

Django 서버는 기본적으로 http://127.0.0.1:8000/ 주소에서 실행됩니다.

API 테스트하기

API를 테스트하려면 웹 브라우저나 API 개발 도구를 사용하여 http://127.0.0.1:8000/api/hello 주소로 접속하세요. “Hello, World!”라는 메시지가 반환될 것입니다.

이제 Python을 사용하여 웹 API를 개발하는 방법에 대해 알게 되었습니다. Flask와 Django는 각각의 특징과 장점을 가지고 있으므로 프로젝트 요구사항에 맞게 선택할 수 있습니다. Flask는 보다 가볍고 간단한 API 개발에 적합하며, Django는 더 복잡하고 풀 스택 웹 애플리케이션 개발에 적합합니다.

참고 자료