본문 바로가기
공부기록/파이썬

[Python + Flask + MongoDB] REST API 구축하기

by 책읽는 개발자 ami 2023. 7. 3.
728x90
반응형

Python에서 Flask와 pymongo를 사용하여 MongoDB와 연동된 REST API 서버를 구축하는 방법은 아래와 같습니다.

1. 필요한 패키지 설치하기:
pip install flask pymongo

2. Flask 애플리케이션 작성하기:

from flask import Flask, jsonify, request
from pymongo import MongoClient

app = Flask(__name__)
client = MongoClient('mongodb://localhost:27017')
db = client['mydatabase']
collection = db['mycollection']

# GET 메서드로 모든 문서 조회
@app.route('/api/documents', methods=['GET'])
def get_documents():
    documents = []
    for doc in collection.find():
        documents.append(doc)
    return jsonify(documents)

# POST 메서드로 새로운 문서 추가
@app.route('/api/documents', methods=['POST'])
def add_document():
    new_document = request.json
    result = collection.insert_one(new_document)
    return jsonify({'inserted_id': str(result.inserted_id)})

# 서버 실행
if __name__ == '__main__':
    app.run()


위의 코드는 Flask 애플리케이션을 작성하고, `/api/documents` 엔드포인트로 GET 및 POST 요청을 처리합니다. GET 요청은 MongoDB의 모든 문서를 조회하고, POST 요청은 새로운 문서를 추가합니다. 코드에서 `mongodb://localhost:27017`는 MongoDB의 주소를 나타내며, `mydatabase`는 사용할 데이터베이스 이름, `mycollection`은 사용할 컬렉션 이름입니다.

3. 서버 실행:
위의 코드를 `app.py`와 같은 파일로 저장한 후 터미널에서 다음 명령을 실행하여 서버를 실행합니다:
python app.py

이제 Flask 애플리케이션을 통해 MongoDB REST API 서버가 실행되고, `/api/documents` 엔드포인트로 GET 및 POST 요청을 할 수 있습니다. 요청과 응답은 JSON 형식으로 이루어집니다.


728x90
반응형