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

相关推荐
IT_陈寒20 分钟前
Redis的KEYS命令把我搞崩溃了,改用SCAN才活过来
前端·人工智能·后端
长不胖的路人甲40 分钟前
SpringCloud 服务雪崩、熔断、降级
后端·spring·spring cloud
爱折腾的小黑牛2 小时前
小程序多人协作的权限设计:三级权限的实现
后端
仙人球部落2 小时前
-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)
开发语言·javascript·python
2401_894915532 小时前
Geo搜索优化排名源码部署搭建全流程详解
android·开发语言·flask·php·精选
蜡笔削薪2 小时前
财联支付异地拓展商户的区域限制是否符合监管规定?
大数据·python
印度神油92 小时前
Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
windows·python·ci/cd
蓝银草同学2 小时前
Stream 实战:博客列表排序、过滤与分页(AI 辅助学习 Java 8)
java·前端·后端
chouchuang2 小时前
day-025-面向对象-上
开发语言·python
小小猪的春天3 小时前
AI 编程 30 天实验复盘:效率提升 65%,线上 bug 涨到 11 个,问题出在哪
后端