Java 在不使用LinkedMultiValueMap的情况下将请求正文传递给Spring Rest模板
我正在使用Spring Rest模板发出Http PUT请求,到目前为止,我一直使用以下方法传递请求正文:Java 在不使用LinkedMultiValueMap的情况下将请求正文传递给Spring Rest模板,java,spring,httprequest,resttemplate,Java,Spring,Httprequest,Resttemplate,我正在使用Spring Rest模板发出Http PUT请求,到目前为止,我一直使用以下方法传递请求正文: MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>(); body.add("account", testAccount); HttpEntity<?> requestEntity = new HttpE
MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>();
body.add("account", testAccount);
HttpEntity<?> requestEntity = new HttpEntity<Object>(body, headers);
ResponseEntity<String> responseEntity;
try {
responseEntity = rest.exchange(uri, HttpMethod.PUT, requestEntity, String.class);
}
catch (HttpStatusCodeException e) {
log.error("Http PUT failed with response: " + e.getStatusText());
return ResponseEntity.status(e.getStatusCode()).body(e.getResponseBodyAsString());
}
return responseEntity;
这是可行的,但我的目标API不希望account
对象具有数组作为值,并且当前给我一个500内部服务器错误,因此,我的问题是,如何将'account'
属性的值设为对象而不是数组?例如,我希望请求主体显示为:
{"account":{"account_id":"495"}}
是否有另一种类型的Map
可以使用,但不接受多个值
如果可能的话,我仍然想使用exchange
方法
任何关于这方面的帮助都是伟大的!非常感谢答案实际上只是简单地使用常规的
HashMap
而不是多值map
。如图所示,MultiValueMap
案例用于向请求正文中的单个键添加数组。
谢谢你的帮助
{"account":{"account_id":"495"}}