gson 发送一个RestTemplate.postForEntinty(),使用Json对象作为发布请求的头和正文

rjzwgtxy  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(180)

是否有一种方法可以将现有的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。
我应该采取什么方法来处理这种情况,我的思考方向正确吗?

brc7rcf0

brc7rcf01#

你好,我想你可以试试JacksonObjectMapper。
这可能会解决您的问题。
请点击以下链接。ObjectMapper

相关问题