요청에서 JSON을 사용하는 Flask 응용 프로그램 내에 코드가 있으며 다음과 같이 JSON 개체를 가져올 수 있습니다.
Request = request.get_json()
이것은 잘 작동했지만 Python의 unittest 모듈을 사용하여 단위 테스트를 만들려고 시도 중이며 요청과 함께 JSON을 보내는 방법을 찾는 데 어려움이 있습니다.
response=self.app.post('/test_function',
data=json.dumps(dict(foo = 'bar')))
이것은 나에게 준다 :
>>> request.get_data()
'{"foo": "bar"}'
>>> request.get_json()
None
Flask에는 post 요청 내에서 json = dict (foo = 'bar') 설정할 수있는 JSON 인수가있는 것 같지만 unittest 모듈로이를 수행하는 방법을 모르겠습니다.
>>> request.get_data () '{ "foo": "bar"}'>>> request.get_json () 없음 플라스크의 요청이 어떻게 작동하는지 잘 모르겠지만 데이터와 json을 분리하는 것 같습니다. 데이터가 아닌 json에 정보를 보내는 방법을 알아낼 수 없습니다.
—
Sepehr Nazari 2015
콘텐츠 유형 헤더라고 생각하므로 appliacation / json으로 설정하십시오. 또한 힘 매개 변수는 유용하지만 당신은 아마 거기 가서 그냥 unittests 더 마임을 변경, 통과하게하고 싶지 않아
—
user3012759
request.data
포함합니까? 종종 잘못된 입력으로 인해 json 구문 분석이 실패하면 자동으로 실패하고 반환None
되므로 원시 입력 데이터가 json이 아닐 수 있습니다.