首页 > 解决方案 > 如何使我的 post api 能够在 python 中将数据作为参数发送

问题描述

我有这个代码:

from flask import (
    Flask,
    render_template
)

import SocketServer
import SimpleHTTPServer
import re

app = Flask(__name__, template_folder="templates")


@app.route('/index', methods=['GET'])
def index():
    return 'Welcome'


@app.route('/write_text_to_file', methods=['POST'])
def write_text_to_file():
    f = open("str.txt", "w+")
    f.write("hello world")
    f.close()


if __name__ == '__main__':

    app.run(debug=True)

编辑:我的 API 包括一项功能,即通过创建此文件将字符串写入本地文件系统。我想要实现的是能够将字符串作为 api 请求的一部分传递,它可以是任何字符串,并将接受的字符串写入文件,现在我使用硬编码的字符串来完成工作,但我想实现使用这个api写入文件时动态发送字符串的能力。

标签: pythonapiflaskpostman

解决方案


尝试这个:

在邮递员中,我将字符串作为原始字符串发布在正文中。那么你可以使用 request.data它来获取字节类型的数据,所以你必须使用request.data.decode("utf-8")

@app.route('/write_text_to_file', methods=['POST'])
def write_text_to_file():
    if request.method == 'POST':
        print(type(request.data))
        data = request.data.decode("utf-8")
        f = open("str.txt", "w+")
        f.write(data)
        f.close()
    return ''

推荐阅读