我有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' });
但是在我的服务器代码(Spring Boot)中我需要添加 - >
consumes = "multipart/form-data")
我的问题是 - >这是正确的吗?我将我的对象解析为Blob,因为我无法向服务器发送3个对象。
真的我的服务器不希望文件 - > multipart / form-data。
然后我不知道如何使用Angular 2+发送多个对象。我找到了这个解决方案(formData),但我想做好。
因为你可以创建一个单独的对象,但它完全依赖于支持,它们如何处理这个输入数据。
喜欢,
return this.http.post(url, {dataUser: dataUser, dataCar: dataCar, otherData: otherData }, { responseType: 'text' });
您应该创建一个包含所有数据的对象。像这样
const dataObj = {
dataUser: // required user data here
dataCar: // required car data here
}
并将此单个对象发送到服务器。
return this.http.post(url, dataObj, httpOptions);