| from flask import Flask, jsonify, request |
|
|
| app = Flask(__name__) |
|
|
| |
| books = [ |
| {"id": 1, "title": "Python Programming", "author": "Guido van Rossum"}, |
| {"id": 2, "title": "Flask Basics", "author": "Miguel Grinberg"}, |
| {"id": 3, "title": "Data Science Handbook", "author": "Jake VanderPlas"} |
| ] |
|
|
| |
|
|
|
|
| @app.route('/', methods=['GET']) |
| def get_books_list(): |
| return jsonify(books) |
|
|
|
|
| @app.route('/books', methods=['GET']) |
| def get_books(): |
| return jsonify(books) |
|
|
| |
|
|
|
|
| @app.route('/books/<int:book_id>', methods=['GET']) |
| def get_book(book_id): |
| book = next((book for book in books if book['id'] == book_id), None) |
| if book: |
| return jsonify(book) |
| else: |
| return jsonify({'message': 'Book not found'}), 404 |
|
|
| |
|
|
|
|
| @app.route('/books', methods=['POST']) |
| def create_book(): |
| new_book = request.get_json() |
| books.append(new_book) |
| return jsonify({'message': 'Book created successfully'}), 201 |
|
|
| |
|
|
|
|
| @app.route('/books/<int:book_id>', methods=['PUT']) |
| def update_book(book_id): |
| book = next((book for book in books if book['id'] == book_id), None) |
| if not book: |
| return jsonify({'message': 'Book not found'}), 404 |
| else: |
| data = request.get_json() |
| book.update(data) |
| return jsonify({'message': 'Book updated successfully'}) |
|
|
| |
|
|
|
|
| @app.route('/books/<int:book_id>', methods=['DELETE']) |
| def delete_book(book_id): |
| global books |
| books = [book for book in books if book['id'] != book_id] |
| return jsonify({'message': 'Book deleted successfully'}) |
|
|
|
|
| if __name__ == '__main__': |
| app.run(debug=True) |
|
|