데이터과학 삼학년

RESTful API 파이썬 구축 예시 (feat. Flask) 본문

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

'Computer Science' 카테고리의 다른 글

[용어] SPOF (Single Point Of Failure)  (0) 2023.07.26
git flow 전략  (1) 2023.06.07
API Gateway  (0) 2023.03.17
[git] git clone 현재폴더(특정폴더) 에 복사하기  (0) 2020.08.26
아스키코드? 유니코드가 뭐지?  (0) 2020.07.31
Comments