推荐答案
在 Flask 中,可以通过以下方式设置响应状态码:
-- -------------------- ---- ------- ---- ----- ------ ------ ------- --- - --------------- ---------------------- --- ---------- -------- - ------------------- ------- --------- -------------------- - --- - ------ --- ------ -------- -- -------- -- ----------- ---------
或者,可以直接在 return
语句中传递状态码:
@app.route('/example') def example(): return jsonify({'message': 'Hello, World!'}), 201 # 设置状态码为 201
本题详细解读
在 Flask 中,设置响应状态码有两种常见的方式:
通过
response.status_code
属性设置:- 首先创建一个响应对象(例如通过
jsonify
函数),然后通过response.status_code
属性来设置状态码。 - 这种方式适用于需要先构建响应对象,然后再设置状态码的场景。
- 首先创建一个响应对象(例如通过
直接在
return
语句中传递状态码:- 在
return
语句中,可以直接返回一个元组,其中第一个元素是响应内容,第二个元素是状态码。 - 这种方式简洁明了,适用于不需要额外处理响应对象的场景。
- 在
示例代码解析
第一种方式:
response = jsonify({'message': 'Hello, World!'}) response.status_code = 201 return response
- 这里首先通过
jsonify
函数创建了一个 JSON 格式的响应对象。 - 然后通过
response.status_code
属性将状态码设置为201
(表示资源已成功创建)。 - 最后返回这个响应对象。
- 这里首先通过
第二种方式:
return jsonify({'message': 'Hello, World!'}), 201
- 这里直接在
return
语句中返回了一个元组,第一个元素是 JSON 格式的响应内容,第二个元素是状态码201
。 - 这种方式更加简洁,适用于不需要额外处理响应对象的场景。
- 这里直接在
状态码的选择
- 200 OK:请求成功。
- 201 Created:资源已成功创建。
- 400 Bad Request:客户端请求错误。
- 404 Not Found:请求的资源不存在。
- 500 Internal Server Error:服务器内部错误。
根据不同的业务场景,选择合适的状态码可以让 API 更加规范和易于理解。