📜  flask api 响应代码 - Python (1)

📅  最后修改于: 2023-12-03 15:15:05.598000             🧑  作者: Mango

Flask API 响应代码 - Python

Flask是Python编程语言的一个微框架,它允许你快速开发Web应用程序。在Flask框架中,API响应是完成请求的关键。本文将介绍如何使用Flask API响应代码,让你能够更好地控制应用程序的行为。

响应对象

在Flask中,响应对象是flask.wrappers.Response类的实例。响应对象有许多属性和方法,可以帮助我们构建API响应。

基本响应

最简单的响应是一个简单的字符串:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

这个响应将返回一个文本字符串,"Hello, World!"

如果希望返回一个json对象,可以使用jsonify()函数:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello_world():
    return jsonify({"message": "Hello, World!"})

这个响应将返回一个json对象,{"message": "Hello, World!"}

设置响应状态码

可以使用status_code参数来设置响应的状态码。例如,返回状态码200:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello_world():
    return jsonify({"message": "Hello, World!"}), 200

这个响应将返回一个json对象,{"message": "Hello, World!"},同时状态码为200。

空响应

有时候,你需要发送一个完全空的响应。你可以使用空字符串、None或者make_response()函数来构建一个空的响应:

from flask import Flask, jsonify, make_response

app = Flask(__name__)

@app.route('/')
def empty_response():
    return '', 204

@app.route('/none')
def none_response():
    return None, 204

@app.route('/make-response')
def make_response_test():
    return make_response('', 204)

这些API响应将返回一个完全空的响应,同时状态码为204。

响应头

响应头包含了服务器发送到客户端的元数据。在Flask中,你可以使用make_response()函数来构建一个完全自定义的响应头:

from flask import Flask, jsonify, make_response

app = Flask(__name__)

@app.route('/')
def custom_header():
    resp = make_response(jsonify({"message": "Hello, World!"}), 200)
    resp.headers['X-Example-Header'] = 'My custom header'
    return resp

这个API响应将返回一个json对象,{"message": "Hello, World!"},同时在响应头中设置自定义的header,X-Example-Header: My custom header

结论

Flask API响应代码是控制API行为的关键点。本文介绍了一些使用Flask API响应代码的基本技术,包括创建简单响应、空响应、设置响应状态码和响应头。通过学习这些技术,你可以更好地掌握Flask编程,以及构建出更强大、更可靠和更灵活的Web应用程序。