Computer Science
RESTful API 파이썬 구축 예시 (feat. Flask)
Dan-k
2023. 3. 18. 15:00
반응형
파이썬으로 개발 가능한 웹프레임워크는 대표적으로 flask, django가 아닐까 싶다.
flask를 이용하여 간단한 RESTful API 를 구축한 코드를 공유한다.
from flask import Flask, jsonify, request
app = Flask(__name__)
# 임시 데이터베이스
books = [
{"id": 1, "title": "Harry Potter and the Philosopher's Stone", "author": "J.K. Rowling"},
{"id": 2, "title": "The Hobbit", "author": "J.R.R. Tolkien"},
{"id": 3, "title": "To Kill a Mockingbird", "author": "Harper Lee"}
]
# 모든 책 목록을 반환하는 API 엔드포인트
@app.route('/books', methods=['GET'])
def get_books():
return jsonify({'books': books})
# 특정 책을 반환하는 API 엔드포인트
@app.route('/books/<int:id>', methods=['GET'])
def get_book(id):
book = next((book for book in books if book['id'] == id), None)
if book:
return jsonify(book)
return jsonify({'message': 'Book not found'}), 404
# 새 책을 추가하는 API 엔드포인트
@app.route('/books', methods=['POST'])
def add_book():
new_book = {'id': len(books) + 1, 'title': request.json['title'], 'author': request.json['author']}
books.append(new_book)
return jsonify({'message': 'Book added successfully', 'book': new_book}), 201
if __name__ == '__main__':
app.run(debug=True)
위 코드는 /books 엔드포인트에서 모든 책 목록을 가져오고,
/books/<int:id> 엔드포인트에서 특정 책을 가져오고,
/books 엔드포인트에서 새 책을 추가하는 RESTful API
728x90
반응형
LIST