J’essaie de faire une demande POST en plusieurs parties à mon API à l’aide de superagent.
Mon code:
superagent .post(apiUrl + '/api/company/profile/edit') .field("profileData", profileData) .attach('company_logo', logoFile ) .set('Accept', 'application/json') .end(function(err, res){ if(err){ dispatch(updateProfileStatusAction("error", res)); } else { dispatch(updateProfileStatusAction("success", res)); } });
Le problème que je rencontre est que profileData
est un object nested. Lorsque je reçois la demande dans l’API, la valeur de profileData
par la chaîne [Object, Object]
Lorsque je regarde la documentation de la requête en plusieurs parties avec le superagent https://visionmedia.github.io/superagent/#multipart-requests, il me semble que le .field()
est censé être simplement une paire clé-valeur plutôt qu’un object. J’ai ensuite essayé d’utiliser .send ({profileData: profileData}) à la place du champ, mais j’obtiens une erreur indiquant que .attach et .send ne peuvent pas être utilisés ensemble dans la même demande.
Je pense qu’il devrait suffire d’utiliser JSON.ssortingngify()
pour convertir le JS_Object en une chaîne JSON.
superagent .post(apiUrl + '/api/company/profile/edit') .field("profileData", JSON.ssortingngify(profileData)) .attach('company_logo', logoFile ) ...