我有3个对象,1º->数据用户(姓名,姓氏,dni等),2º数据车(颜色,价格等)其他数据。
如果我想使用Angular 2+->
发送此数据 return this.http.post(url, dataUser, dataCar, otherData, { responseType: 'text' });
我收到错误消息是因为我只能发送1个数据...但是我需要发送2个或3个或更多数据...
然后我使用->
this.formData = new FormData();
this.formData.append("dataUser", new Blob([JSON.stringify(dataUser)],
{ type: "application/json" }));
this.formData.append('dataCar', new Blob([JSON.stringify(this.dataCar)],
{ type: "application/json" }));
this.formData.append('otherData', new Blob([JSON.stringify(this.otherData)],
{ type: "application/json" }));
现在我可以发送我想要的东西
return this.http.post(url, formData, { responseType: 'text' });
但是在我的服务器(SpringBoot)的代码中,我需要添加->
consumes = "multipart/form-data")
我的问题是->对吗?我将对象解析为Blob,因为无法将3个对象发送到服务器。
我的服务器真的不希望Files-> multipart / form-data。
然后,我不知道如何使用Angular 2+发送多个对象。我找到了这个解决方案(formData),但我想做好。
答案 0 :(得分:2)
您可以创建一个对象,但完全不依赖于对象,这取决于它们如何处理输入数据。
喜欢
return this.http.post(url, {dataUser: dataUser, dataCar: dataCar, otherData: otherData }, { responseType: 'text' });
答案 1 :(得分:0)
您应该创建一个包含所有数据的对象。像这样
const dataObj = {
dataUser: // required user data here
dataCar: // required car data here
}
并将此单个对象发送到服务器。
return this.http.post(url, dataObj, httpOptions);