Bir Django tüketicisine API sunan bir Flask uygulamasına sahibim. Tüketicimde requests library'u API'ye basmak için kullanıyorum.Flask/Werkzeug istek nesnesi parametresi oluşturmak
Sorunum şudur: API'mı test ettiğimde, request.form
numaralı POST verisini alıyorum ve onu (istek kitaplığı kullanarak) tüketiciden aldığımda request.data
numaralı POST verisi alıyorum.
Ör Flask uygulamasında
bir API son nokta: Flask uygulamasında
@mod.route('/customers/', methods=['POST'])
def create_prospect():
customer = Customer()
prospect = customer.create_prospect(request.form)
return jsonify(prospect.serialize()), 201
Test API son nokta:
def test_creating_prospect(self):
with self.app.app_context():
data = {'name': 'Test company and co'}
response = self.client.post(self.url, data=data)
...
Bu iyi çalışır benim son nokta, içinde request.form
doldurur.
istekleri kullanarak, benim Django uygulamasından API tüketen: Bu benim bilgi için request.form
kontrol ediyorum olarak başarısız benim son nokta, içinde request.data
doldurur
...
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
data = {'name': 'Test company and co'}
response = requests.post(url, data=data, headers=headers)
.
Bu soruyu yazarken bir düşüncem vardı; Belki json üstbilgileri request.form
yerine request.data
doldurulmuş mu?
Herhangi bir girdi takdir edildi.
Düzenleme - benim testine başlıkları ekleyerek çalıştı, iyi çalıştı:
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
response = self.client.post(self.url, data=data, headers=headers)