如何使用Flask服务器保存JSON发布请求?

时间:2020-07-21 21:58:34

标签: python json flask

我有一个使用Flask构建的简单Web服务器。服务器监听JSON发布的Webhooks。

  @app.route('/webhook', methods=['POST'])
def webhook():
    if request.method == 'POST':

我需要一种方法来保存传入的JSON数据。我不确定该怎么做。无需将数据放入表中或进行任何配置。

2 个答案:

答案 0 :(得分:1)

使用Python的logging工具。下面是一个示例代码,用于Logging to a file和上面的代码段中。

import logging
from flask import Flask, request

logging.basicConfig(filename='requests.log', level=logging.DEBUG, format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def webhook():
    if request.method == 'POST':
        request_data = request.get_json()
        logging.info(request_data)

if __name__ == '__main__':
    logging.info("Running application with local development server!")
    app.run()

上面的代码会将带有时间戳的请求记录到文件中,并在每次发出新请求时追加到文件中。

答案 1 :(得分:0)

从烧瓶导入请求jsonify

def webhook():
    resp=''
    if request.method == 'POST':
        my_form_field = request.form['my_form_field']
        if my_form_field:
            resp = 'Form data received'`enter code here`
            return jsonify(resp = resp) #you may collect this response with JQuery
        else:
            resp = 'Form field is empty'
            return jsonify(resp = resp)```