Ich habe Code in einer Flask-Anwendung, die JSONs in der Anforderung verwendet, und ich kann das JSON-Objekt folgendermaßen abrufen:
Request = request.get_json()
Dies hat gut funktioniert, aber ich versuche, Unit-Tests mit Pythons unittest-Modul zu erstellen, und ich habe Schwierigkeiten, einen Weg zu finden, einen JSON mit der Anfrage zu senden.
response=self.app.post('/test_function',
data=json.dumps(dict(foo = 'bar')))
Das gibt mir:
>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None
Flask scheint ein JSON-Argument zu haben, mit dem Sie json = dict (foo = 'bar') innerhalb der Post-Anfrage setzen können, aber ich weiß nicht, wie ich das mit dem unittest-Modul machen soll.
request.data
? Wenn die JSON-Analyse aufgrund einer falschen Eingabe fehlschlägt, schlägt sie häufig stillschweigend fehl und gibt zurück,None
sodass die rohen Eingabedaten möglicherweise nicht JSON sind.