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
반응형
'공부기록 > 파이썬' 카테고리의 다른 글
[Flask] 직렬화 오류 (0) | 2023.07.03 |
---|---|
[Flask] Blueprint로 라우터 관리하기 (0) | 2023.07.03 |
Python 기반 웹 프레임워크 Flask와 Django 비교 (0) | 2023.07.02 |
Selenium + MongoDB 크롤링한 데이터 저장하기 (0) | 2023.07.01 |
Python + Selenium 도메인 여러 개 크롤링하기 (0) | 2023.06.30 |