编写restful风格的按id查找书,查找不到返回失败例子
时间: 2024-03-17 21:40:26 浏览: 21
好的,以下是一个简单的例子,使用Python Flask框架实现RESTful风格的按id查找书,如果查找不到则返回失败信息:
```python
from flask import Flask, jsonify
app = Flask(__name__)
# 模拟书的数据
books = [
{"id": 1, "title": "Python编程从入门到实践", "author": "Eric Matthes"},
{"id": 2, "title": "流畅的Python", "author": "Luciano Ramalho"},
{"id": 3, "title": "Python核心编程", "author": "Wesley Chun"},
]
# 按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
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,我们定义了一个`/books/<int:book_id>`的路由,其中`<int:book_id>`表示book_id是一个整数类型。当用户访问这个路由时,我们会遍历books列表,查找与book_id相等的书,如果找到则返回书的信息,如果找不到则返回一个包含错误信息的JSON响应,状态码为404。