代码改变世界

flask框架图书管理系统服务器端

2024-04-16 12:05  加个小鸡腿  阅读(1)  评论(0编辑  收藏  举报
from flask import  Flask,request,jsonify
app=Flask(__name__)
books=[
{'id':1,'title':'book1','author':'au1'},
{'id':2,'title':'book2','author':'au2'},
{'id':3,'title':'book3','author':'au3'},
{'id':4,'title':'book4','author':'au4'}
]
#获取所有图书
@app.route('/books',methods=['GET'])
def get_books():
return jsonify(books)

#添加一本图书
@app.route('/books',methods=['POST'])
def add_book():
new_book=request.get_json()
new_book['id']=len(books)+1 #id是基于列表长度的
books.append(new_book)
return jsonify(new_book),201

#根据id获取图书
@app.route('/books/<int:book_id>',methods=['GET'])
def get_book(book_id):
for book in books:
if book['id']==book_id:
return jsonify(book)
return jsonify({'error':'Book not found'}),404

#更新图书信息
@app.route('/books/<int:book_id>',methods=['PUT'])
def update_book(book_id):
update_book=request.get_json()
for i,book in enumerate(books):
if book['id']==book_id:
books[i]=update_book;
return jsonify(update_book);
return jsonify({'error':"book not found"}),404

#删除图书
@app.route('/books/<int:book_id>',methods=['DELETE'])
def delete_book(book_id):
for i,book in enumerate(books):
if book['id']==book_id:
del books[i]
return '',204
return jsonify({'error':'book not found'}),404

if __name__=='__main__':
app.run(debug=True)