是否有一种方法可以将现有的java对象转换为Json对象,并将这些Json对象作为RestTemplate.postForEntinty中的请求头和请求体发送().我有一个功能,需要将类名和类属性Map到外部API请求头和请求主体有效负载中使用的名称,类名和属性名是不同的,不能写得一样。我只能想到将java对象转换为Json对象,然后发送这些对象进行精确Map。
尝试做一些像下面这样的事情,但到目前为止我还没有成功:
public Map<String, Object> getApiData(Header headers, Body body){
Gson gson = new Gson();
HttpEntity<?> request = new HttpEntity<>(gson.toJson(headers), gson.toJson(body));
String url = "end point url";
ResponseEntity<String> response = restConnector.postForEntinty(url, request, String.class);
}
上面的函数已经接受了填充的java对象(头和体。需要将这些对象转换为Json对象。我已经使用com.fasterxml.Jackson.annotation.JsonProperty将类属性与api属性Map,我的假设是在将java对象转换为Json对象后,我将能够将类属性与API请求中使用的属性名称Map。
我应该采取什么方法来处理这种情况,我的思考方向正确吗?
1条答案
按热度按时间brc7rcf01#
你好,我想你可以试试JacksonObjectMapper。
这可能会解决您的问题。
请点击以下链接。ObjectMapper