Python 및 Flask로 REST API 구축: 샘플 코드를 사용한 단계별 가이드

REST API(Representational State Transfer Application Programming Interface)를 구축하면 웹을 통해 데이터에 액세스하고 데이터를 조작할 수 있다. 이번에는 각 단계를 설명하는 데 도움이 되는 샘플 코드와 함께 Python 프로그래밍 언어와 Flask 웹 프레임워크를 사용하여 REST API를 구축하는 과정을 알아보자.

 

1. Flask 설정

Flask를 설치하고 새 프로젝트 디렉토리를 생성하여 시작한다. 그런 다음 새 Flask 애플리케이션을 만들고 필요한 종속성을 설정한다. 

# Install Flask
pip install Flask

# Create project directory
mkdir my_api
cd my_api

# Create a new Flask application
from flask import Flask
app = Flask(__name__)

# Set up required dependencies
pip install flask-restful

 

2. 엔드포인트 정의

응답할 HTTP 메서드 및 URL을 포함하여 API의 엔드포인트를 정의한다.

from flask_restful import Api
api = Api(app)

# Define endpoint for GET request
from flask_restful import Resource
class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

 

3. 요청 구문 분석

들어오는 요청을 구문 분석하고 요청을 이행하는 데 필요한 데이터를 추출한다.

from flask import request

class AddNumbers(Resource):
    def get(self, num1, num2):
        return {'result': num1 + num2}

api.add_resource(AddNumbers, '/add/<int:num1>/<int:num2>')

4. 요청 처리

요청에서 추출한 데이터를 사용하여 필요한 작업을 수행하고 응답을 생성한다.

class User(Resource):
    def get(self, username):
        # retrieve user information from database
        return {'username': username}
    
    def post(self, username):
        # add user to database
        return {'username': username}

api.add_resource(User, '/user/<string:username>')

5. 응답 생성

JSON 또는 XML과 같은 필수 형식으로 요청에 대한 응답을 생성한다.

from flask import jsonify

class TodoList(Resource):
    def get(self):
        # retrieve todo list from database
        todos = [{'task': 'do laundry'}, {'task': 'buy groceries'}]
        return jsonify(todos)
    
    def post(self):
        # add task to todo list in database
        return {'task': 'added task to todo list'}, 201

api.add_resource(TodoList, '/todos')

6. 오류 처리

@app.errorhandler(404)
def not_found(error):
    return {'error': 'Not found'}, 404

7. 배포

웹 서버에 API를 배포하려면 다음 명령을 실행한다.

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

8. 테스트

Postman 또는 cURL과 같은 도구를 사용하여 API를 테스트할 수 있다. 예를 들어 cURL을 사용하는 경우:

curl http://localhost:5000/

  이 가이드를 마치면 Python 및 Flask를 사용하여 작동하는 REST API와 그 이면의 코드에 대한 깊은 이해를 갖을수 있게 될 것이다.

#파이썬 #웹서비스 #웹개발 #flask #REST API #API설계

© Copyright 2023 CLONE CODING