Я пытаюсь отправить POST-запрос из моего приложения флаттера в Flask REST API, тестирование API с помощью POST MAN не вызывает проблем, но при флаттере я получаю сообщение об ошибке флаттера, например:
I / флаттер (6378): FormatException: неожиданный символ (в символе 1) I / флаттер (6378): I / флаттер (6378): ^
и в Flask APP вот так:
[2020-01-23 11: 42: 32,517] ОШИБКА в приложении: исключение на / карты [POST] Traceback (последний вызов был последним): файл "/home/shaukat/.local/ lib / python3 .7 / site-packages / flask / app.py ", строка 2311, в файле wsgi_app response = self.full_dispatch_request () Файл" /home/shaukat/.local/lib/python3.7/site -packages / flask / app.py ", строка 1834, в full_dispatch_request rv = self.handle_user_exception (e) Файл" /home/shaukat/.local/lib/python3.7/site-packages/flask/app.py ", строка 1737, в файле handle_user_exception reraise (exc_type, exc_value, tb)" "/home/shaukat/.local/lib/python3.7/site-packages/flask/_compat.py", строка 36, в рейз рейз значение F "/home/shaukat/.local/lib/python3.7/site-packages/flask/app.py", строка 1832, в файле full_dispatch_request rv = self.dispatch_request () "/home/shaukat/.local /lib/python3.7/site-packages/flask/app.py ", строка 1818, в dispatch_request вернуть файл self.view_functionsrule.endpoint" / home / shaukat / Projects / udemy flask rest API и python / rest -api-section-master / section3 / app.py ", строка 19, в create_card 'id': request_data [" id "], TypeError: объект 'NoneType' недопустим 127.0.0.1 - - [23 / января / 2020 11:42:32] "POST / cards HTTP / 1.1" 500 - Мой код в флаттере:
Future<void> addNewCard(NewCard product) async {
const url = 'http://10.0.2.2:5000/cards';
try {
final response = await http.post(
url,
body: json.encode({
'id': product.id,
'cardNo': product.cardNo,
'cardType': product.cardType,
'amount': product.amount,
}),
);
final newProduct = NewCard(
id: json.decode(response.body)['id'],
cardNo: product.cardNo,
cardType: product.cardType,
amount: product.amount,
);
print(newProduct);
_newCard.add(product);
// _items.insert(0, newProduct); // at the start of the list
notifyListeners();
} catch (error) {
print(error);
throw error;
}}
код в python Flask:
@app.route('/cards', methods=['POST'])
def create_card():
request_data = request.get_json()
new_cards = {
'id': request_data["id"],
'cardNo': request_data["cardNo"],
'cardType': request_data["cardType"],
'amount': request_data["amount"],
}
cards.append(new_cards)
return jsonify(cards)