如何在Flask路由中以API处理PATCH方法?

时间:2018-12-04 11:18:52

标签: python api flask

我有这条路线:

@bp.route('coordinates/<int:id>/update', methods=['PATCH'])
def update_coordinates(id):
    schema = CoordinatesSchema()
    coords = Coordinates.query.get_or_404(id)
    new_data = request                           #????

    # some another logic
    return jsonify({"result": "GOOD"}), 200

我正在传递数据以在身体中进行更新,例如dict:{ "title": "newtitle"},但是我如何在路线内获取此信息?

1 个答案:

答案 0 :(得分:1)

使用PATCH请求,您可以像处理其他所有请求类型(例如POST)一样检索请求数据。根据发送数据的方式,有几种检索数据的方法:

application/json发送:

data = request.json

application/x-www-form-urlencoded(表单数据)发送

data = request.form

以没有Content-Type头的原始正文发送:

data = request.data

最后一个将为您提供一个字节字符串,然后您必须对其进行相应处理。对于您的用例,我建议使用第一个示例,并在发送PATCH请求时添加一个Content-Type: application/json标头。