flask学习二(jsonify)

示例一:
实现动态路由,代码如下

# coding:utf-8
from flask import Flask
from flask import jsonify
# 创建对象
app = Flask(__name__)

users_list = {"1001":["123","张三",19],
         "1002":["234","李四",22],
         "1003":["345","王二小",8]}
# 编写路由,构建url与函数的映射关系(将函数与url绑定)
@app.route("/users",methods=["GET"])
def users():
    return jsonify({"code":10000,"message":"success","data":users_list})

# 动态路由,语法:<类型:变量名>
@app.route("/users/<string:account>",methods=["GET"])
def get_user(account):
    if account in users_list:
        info = users_list[account]
        return jsonify({"code":10000,"message":"success","data":{"name":info[1],"age":info[-1]}})
    else:
        return jsonify({"code":10001,"message":"success","data":"账户不存在"})

if __name__ == '__main__':
    # 解决jsonify中文乱码问题
    app.config['JSON_AS_ASCII'] = False
    # 以调试模式启动,host=0.0.0.0 ,则可以使用127.0.0.1、localhost以及本机ip来访问
    app.run(host="0.0.0.0",port=8899,debug=True)

查看users接口效果
在这里插入图片描述
查看不存在的账户信息
在这里插入图片描述
查看单个账户信息
在这里插入图片描述
示例二:

实现get请求传参
代码如下

# coding:utf-8
from flask import Flask
from flask import jsonify
from flask import request
# 创建对象
app = Flask(__name__)

users_list = {"1001":["123","张三",19],
         "1002":["234","李四",22],
         "1003":["345","王二小",8]}
# 编写路由,构建url与函数的映射关系(将函数与url绑定)
@app.route("/users",methods=["GET"])
def users():
    return jsonify({"code":10000,"message":"success","data":users_list})

@app.route("/users/account",methods=["GET"])
def get_user():
    # 获取请求中的参数account的值
    account = request.args.get("account")
    if account:
        if account in users_list:
            info = users_list[account]
            return jsonify({"code":10000,"message":"success","data":{"name":info[1],"age":info[-1]}})
        else:
            return jsonify({"code":10001,"message":"success","data":"账户不存在"})
    else:
        return jsonify({"code":10001,"message":"success","data":"账户为空"})

if __name__ == '__main__':
    # 解决jsonify中文乱码问题
    app.config['JSON_AS_ASCII'] = False
    # 以调试模式启动,host=0.0.0.0 ,则可以使用127.0.0.1、localhost以及本机ip来访问
    app.run(host="0.0.0.0",port=8899,debug=True)

参数为空,效果如下
在这里插入图片描述
传递正常参数,效果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值