Python

[Python] Python으로 간단하게 API 서버 만들기

bo._.h 2023. 4. 27.
728x90
반응형

서론

Python은 다양한 분야에서 사용되는 인기있는 프로그래밍 언어 중 하나입니다. 특히 데이터 처리, 웹 애플리케이션 및 API 서버 개발에도 많이 사용됩니다. 이번 글에서는 Python을 이용하여 API 서버를 만드는 방법에 대해 살펴보겠습니다.

Flask를 이용한 API 서버 개발

Flask는 Python 웹 프레임워크 중 하나로, 가볍고 유연한 구조를 가지고 있습니다. Flask를 이용하여 간단한 API 서버를 개발하는 방법을 살펴보겠습니다.

먼저, Flask를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

Copy code
pip install flask

다음으로, Flask를 이용하여 API 서버를 만들기 위해 다음과 같이 코드를 작성합니다.

pythonCopy code
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api')
def api():
    data = {'message': 'Hello, World!'}
    return jsonify(data)

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

위 코드에서는 Flask 객체를 생성하고, @app.route 데코레이터를 이용하여 '/api' 경로로 요청이 들어오면 api() 함수를 호출합니다. jsonify() 함수는 딕셔너리 형태의 데이터를 JSON 형태로 변환하여 반환합니다.

마지막으로, if __name__ == '__main__': 구문을 이용하여 서버를 실행합니다.

Django를 이용한 API 서버 개발

Django는 Python 웹 프레임워크 중 하나로, 대규모 웹 애플리케이션 개발에 적합합니다. Django를 이용하여 API 서버를 만드는 방법을 살펴보겠습니다.

먼저, Django를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

Copy code
pip install django

다음으로, Django를 이용하여 API 서버를 만들기 위해 다음과 같이 코드를 작성합니다.

pythonCopy code
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.urls import path
from django.core.serializers import serialize

from .models import Data

@csrf_exempt
def api(request):
    if request.method == 'GET':
        data = Data.objects.all()
        data_json = serialize('json', data)
        return JsonResponse(data_json, safe=False)
    elif request.method == 'POST':
        data = request.POST.get('data')
        Data.objects.create(data=data)
        return JsonResponse({'message': 'success'})

urlpatterns = [
    path('api/', api),
]

위 코드에서는 Django의 JsonResponse 클래스를 이용하여 JSON 형태의 데이터를 반환합니다. csrf_exempt 데코레이터는 CSRF(Cross-Site Request Forgery) 공격 방어를 위해 사용되며, API 서버에서는 일반적으로 사용됩니다.

API 서버에서는 대부분의 경우 데이터베이스와 연동하여 데이터를 처리하게 됩니다. 위 코드에서는 Data 모델을 이용하여 데이터를 처리합니다. GET 요청이 들어오면 Data 모델의 모든 데이터를 JSON 형태로 반환하고, POST 요청이 들어오면 data 파라미터로 전달된 값을 데이터베이스에 저장합니다.

결론

위에서 살펴본 것처럼, Python을 이용하여 API 서버를 만드는 것은 매우 간단합니다. Flask와 Django는 각각 가벼운 웹 프레임워크와 대규모 웹 애플리케이션 개발에 적합한 웹 프레임워크로, 사용 목적에 따라 선택하여 개발할 수 있습니다. API 서버 개발에 대한 추가적인 정보는 공식 문서 및 온라인 자료를 참고하세요.

728x90
반응형

댓글