#python #api #flask #postman #postman-collection-runner
#python #API #flask #postman #postman-collection-runner
Вопрос:
Я пытаюсь отправить запрос POST на мой Python Flask Server
. Я попытался отправить CSV-файл, используя form-data
опцию POSTMAN. Он был успешно получен сервером Flask.
Теперь я хочу отправить полезную нагрузку JSON вместе с файлом CSV, который будет состоять из User credentials
.
Я попробовал приведенный ниже метод, но, похоже, он не работает. Хотя я получаю CSV-файл, но JSON все еще не получен Flask server
.
class Upload_File(Resource):
def post(self):
file_ = request.files['file']
Q_data = pd.read_csv(file_, header=None, names=['Questions'])
print(Q_data) # successfully displays file content
data = request.get_json(force=True) # gives None
Редактировать
Проблема была в Flask
коде. Рабочий код —
class Upload_File(Resource):
def post(self):
file_ = request.files['file']
Q_data = pd.read_csv(file_, header=None, names=['Questions'])
print(Q_data) # successfully displays file content
username = request.form.get('username') # modified
password = request.form.get('password') # modified
Комментарии:
1. Если это учетные данные пользователя, лучше использовать что-то вроде
headers
2. Я хочу отправить
JSON
объект любого типа, не обязательноcredentials
. Это также может бытьinsensitive data
.
Ответ №1:
Запрос анализируется как данные формы. Итак, вам нужно проверить, можете ли вы получить его через request.post
dictionary.
Пример:
class Upload_File(Resource):
def post(self):
file_ = request.files['file']
Q_data = pd.read_csv(file_, header=None, names=['Questions'])
print(Q_data) # successfully displays file content
data = request.post['admin']
Комментарии:
1. Проблема связана с
Flask
частью, а неPOSTMAN
. Спасибо, что заставили меня думать по-другому. Я попробовал некоторые модификации. Я заменилdata
наusername = request.form.get('username')
и аналогично дляpassword
.