java 调用接口restTemplate

今天用restTemplate调用别人的接口,传递参数时,调用了下面的方法。

private <T> HttpEntity<?> getEntity(T... entity) {
HttpHeaders requestHeaders = new HttpHeaders();
List<MediaType> mediaTypes = new ArrayList<MediaType>();
mediaTypes.add(MediaType.APPLICATION_JSON);
requestHeaders.setAccept(mediaTypes);
requestHeaders.set("Content-Type", "application/json");
requestHeaders.set("token", token);
HttpEntity<?> requestEntity = new HttpEntity<>(entity, requestHeaders);
return requestEntity;
}
当我传递一个实体到这个方法的时候总是返回说有未填写的必填项。用了抓包工具,发现传递的实体参数变成了数组。后来改成了下面的

private <T> HttpEntity<?> getEntity(T entity) {
HttpHeaders requestHeaders = new HttpHeaders();
List<MediaType> mediaTypes = new ArrayList<MediaType>();
mediaTypes.add(MediaType.APPLICATION_JSON);
requestHeaders.setAccept(mediaTypes);
requestHeaders.set("Content-Type", "application/json");
requestHeaders.set("token", token);
HttpEntity<?> requestEntity = new HttpEntity<>(entity, requestHeaders);
return requestEntity;
}

猜你喜欢

转载自www.cnblogs.com/keeplee/p/9154809.html
今日推荐