我有这段代码:
客户端(angular2)
saveConfig(configType: ConfigTypes, gasConfigModel: GasConfigModel): any {
console.info("sending post request");
let headers = new Headers({
'Content-Type': 'application/json'
});
....
return this.http
.post(this.url, formParamString, ??, {headers: headers})
.map(res => res.json())
.subscribe(
data => {
console.info("next: ");
console.info(data)
},
err => console.error(err)
);
}
和
服务器端:
@Path("/SaveConfig")
@POST
@Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public void saveConfig(MyObj my object, CountryGasStationConfig countryGasStationConfig) throws Exception {....}
我知道如何在帖子中发送一个对象,但是如何在帖子请求中发送2个对象?
答案 0 :(得分:5)
由于您使用Json作为媒体,因此在技术上不可能实现这一点,因为单个文档中的两个单独的任意对象将是无效的Json。
但是,这里的潜在解决方案是创建一个包装这两个对象的对象。
请求对象
public SaveConfigRequest {
private MyObj myObject;
private CountryGasStationConfig countryGasStationConfig;
//getters and setters
}
新方法签名
public void saveConfig(SaveConfigRequest request)
示例Json文档
{
"myObject": {...},
"countryGasStationConfig": {...}
}
答案 1 :(得分:0)
发送两个具有不同键值的对象, 将它们组合成大对象,如:
obj1;
obj2;
obj2send={
'obj1':obj1,
'obj2':obj2
};
现在这个 obj2send 中有两个对象