У меня есть простое flask приложение
@app.route("/endpoint/", methods=['POST'])
def mypostmethod():
if 'Content-Type' in request.headers and request.headers['Content-Type'] == 'application/json':
post_data = request.json
req_data = request.get_json()
content = req_data['content']
return content
, и я свернулся следующим образом:
curl -X POST "localhost: 8080 / endpoint /" -H " Content-Type: application / json "-d '{' content ':' Blah '}'
Я получаю следующую ошибку:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>Failed to decode JSON object: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)</p>
Это потому, что , json тело в cURL использует одинарные кавычки, когда я использую двойные кавычки, это работает.
Мне было интересно, как я могу добавить некоторый код в мое приложение flask, чтобы проверить эту ошибку и вернуть пользовательский код ответа и какое-нибудь ответное сообщение? Куда мне добавить блок try? Можете ли вы использовать мой код в качестве примера.