flask中路由route根据字典ID展示部分内容,字典名展示全部内容

python 复制代码
from flask import Flask, jsonify , request,render_template,

app = Flask(__name__)

app.config['JSON_AS_ASCII'] = False
 
books = [
    {"id": 1, "name": '三国演义'},
    {"id": 2, "name": '水浒传'},
    {"id": 3, "name": '西游记'},
    {"id": 4, "name": '红楼梦'},
]
 
 
@app.route('/')
def hello_world():
    return 'hello world'
 
 
@app.route('/books/list')
def book_list():
    # return books  # 直接返回books会报错的,类型格式不支持
    return jsonify(books) # 直接返回books会报错的,类型格式不支持
'''
@app.route('/book/<int:book_id>')#根据id获取字典里其中一个值
def book_detail(book_id):
    for book in books:
        if book_id == book['id']:
            return book
    return f"id:{book_id}的图书不存在!"
'''
@app.route('/book/<int:book_id>')#根据id获取字典里其中一个值
def book_detail(book_id):
    for book in books:
        if book_id == book['id']:
            return book
    if book_id != book['id'] :#这里book_id != book 不能和book_id == book 放在同一级(判断会出错,除了1,其他id都会报不存在:因为在同一级, book_id 与 book['id']会一直不等),
        return f"id:{book_id}的图书不存在!"


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

http://127.0.0.1:5000/books/list

http://127.0.0.1:5000/book/1

http://127.0.0.1:5000/book/9

相关推荐
Re_zero3 分钟前
一次 SSE 断流排查:PrintWriter 吞掉了我的 IOException
java·后端
1m5555555511 分钟前
RAG 工程实战(四):明明召回了正确知识,为什么最终 Top-K 还是漏了?
后端
Smoothcloud润云22 分钟前
PyTorch推理请求超时与取消处理实战
人工智能·pytorch·python·深度学习·机器学习·gpu算力·gpu
我是人✓30 分钟前
Java核心语法:作用域、循环与大数值处理
java·开发语言·后端
newerp33 分钟前
GC Pacer 调优算法:GOGC、GOMEMLIMIT 与容器 OOM 防御
后端·程序员·go
敲代码的乔帮主34 分钟前
Python 3 现代类型标注入门
开发语言·python
邱杰47039 分钟前
数智人事系统(二):一条命令起齐四个中间件
后端
newerp40 分钟前
逃逸分析、栈分配与 sync.Pool 对象池
后端·程序员·go
upala1 小时前
【仓颉语言入门 · 第二篇 第 3 课】
后端