Flask对请求进行多个格式的响应

Python:

python 复制代码
from flask import Blueprint, request, make_response, jsonify

index_page = Blueprint("index_page", __name__)


@index_page.route("/")
def hello():
    return "I Love jarvisyqliu"


@index_page.route("/my/<username>")
def my(username):
    return "I Love test %s" % username


@index_page.route("/get")
def get():
    req = request.values
    var_a = req['a'] if "a" in req else None
    return "request:%s,params:%s,var_a:%s" % (request.method, request.args, var_a)


@index_page.route("/post", methods=["POST"])
def post():
    req = request.values
    var_a = req['a'] if "a" in req else None
    return "request:%s,params:%s,var_a:%s" % (request.method, request.form, var_a)


@index_page.route("/upload", methods=["POST"])
def upload():
    f = request.files['file'] if "file" in request.files else None
    return "request:%s,params:%s,file:%s" % (request.method, request.files, f)


@index_page.route("/text")
def text():
    return "text/html"


@index_page.route("/text_same")
def text_same():
    response = make_response("text/html", 200)
    return response


@index_page.route("/json")
def json():
    import json
    data = {"a": "b"}
    response = make_response(json.dumps(data))
    response.headers["Content-Type"] = "application/json"
    return response


@index_page.route("/json_same")
def json_same():
    data = {"a": "b"}
    response = make_response(jsonify(data))
    return response


@index_page.route("/template")
def template():
    return render_template("index.html")

PS:jsonify会自动构建Content-Type为application/json

相关推荐
PetterHillWater10 分钟前
AI编程之CodeBuddy的小试
后端·aigc
codervibe29 分钟前
如何用 Spring Security 构建无状态权限控制系统(含角色菜单控制)
java·后端
Deng94520131431 分钟前
基于Python的旅游数据可视化应用
python·numpy·pandas·旅游·数据可视化技术
codervibe32 分钟前
项目中如何用策略模式实现多角色登录解耦?(附实战代码)
java·后端
2401_8786247934 分钟前
pytorch 自动微分
人工智能·pytorch·python·机器学习
胖达不服输37 分钟前
「日拱一码」021 机器学习——特征工程
人工智能·python·机器学习·特征工程
expect7g37 分钟前
Flink-Checkpoint-2.OperatorChain
后端·flink
大葱白菜38 分钟前
🧱 Java 抽象类详解:从基础到实战,掌握面向对象设计的核心基石
后端·程序员
SimonKing44 分钟前
颠覆传统IO:零拷贝技术如何重塑Java高性能编程?
java·后端·程序员
mCell1 小时前
为什么我们需要 `.proto` 文件
后端·微服务·架构