【发布时间】:2020-06-09 22:20:26
【问题描述】:
我正在从具有以下内容的应用发出 Post 请求
Set<Accounts> set = populateAccounts();
ResponseEntity<Map> responseMap =
restTemplate.postForEntity("http://localhost:8080/maptest", set, Map.class);
return responseMap.getBody();
然后这个请求会从 responseMap.getBody() 中返回一个 Map;
以下是我收到发布请求的代码
@PostMapping("/maptest")
public ResponseEntity<Map> mapReturn(@RequestBody Set<Accounts> accounts) {
HashMap<String, Amount> map = new HashMap<String, String>();
map.put("account1", new Amount(BigDecimal.TEN));
map.put("account2", new Amount(BigDecimal.ZERO));
return ResponseEntity.ok(map);
}
问题是,返回的 Map 没有 BigDecimal 值,当我在 responseMap.getbody() 中看到这些 BigDecimal 值时,它们会自动转换为 Integer;
请帮助我了解如何将它们保持为 BigDecimal 值。
另外,实际的代码比上面的要复杂一些,但我想保持简单。我绝对希望将值保留为 BigDecimal,只是不确定如何。
【问题讨论】:
标签: java rest http spring-restcontroller