У меня есть этот код:
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)
EDIT: MY API включает одну функциональность, которая записывает строку в локальную файловую систему, создавая этот файл. То, что я хочу достичь, состоит в том, чтобы передать строку как часть запроса api, которая может быть любой строкой, и записать принятую строку в файл, теперь я использую строчную кодировку, которая выполняет эту работу, но я хотите получить возможность динамически отправлять строки при использовании этого api для записи в файл.
Попробуй это:
В postman я разместил строку в теле как сырую. то вы можете получить данные, используя 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 ''
request
. См. Flask.pocoo.org/docs/1.0/quickstart/#the-request-object для получения подробной информации.