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

相关推荐
幻影123!2 小时前
从零训练一个会下五子棋的AI
python·深度学习·神经网络·强化学习·五子棋·alpha zero·mokugo
前端工作日常2 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
Python私教3 小时前
Django 接入 AI 大模型实战:从零做一个流式聊天网站
人工智能·python·django
Python私教3 小时前
Django 接入 MCP 实战:让 AI 安全调用数据库和业务接口
人工智能·python·django
前端工作日常3 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
Python私教3 小时前
Django 搭建 AI 本地知识库:文档上传、向量检索与智能问答
人工智能·python·django
犀利豆4 小时前
Claude Code Tools 研究系列(三)ExitPlanMode
人工智能·后端
always_TT4 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
星栈4 小时前
oh-my-pi工程级AI编码工使用体验
人工智能·后端·agent
立心者06 小时前
SpringBoot中使用TOTP实现MFA(多因素认证)
java·spring boot·后端