이번에는 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는 더 복잡하고 풀 스택 웹 애플리케이션 개발에 적합합니다.
참고 자료
- Flask 공식 홈페이지: http://flask.pocoo.org/
- Django 공식 홈페이지: https://www.djangoproject.com/
- Flask vs. Django: Choosing the Right Python Web Framework: https://stackify.com/flask-vs-django/