Как сделать мой пост API, чтобы иметь возможность отправлять данные в качестве параметра в Python

1

У меня есть этот код:

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 для записи в файл.

  • 0
    Вы можете извлечь данные из URL-адреса, а также из тела запроса, обратившись к объекту request . См. Flask.pocoo.org/docs/1.0/quickstart/#the-request-object для получения подробной информации.
  • 0
    @Nihal Нихал, что ты имеешь в виду?
Показать ещё 3 комментария
Теги:
flask
postman

1 ответ

0

Попробуй это:

В 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 ''
  • 0
    это то, чего ты хочешь ? @tupac shakur
  • 0
    И если я хочу использовать «post», я имею в виду создание моего API как «post», а не «get»?
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню