当我运行以下程序时,它会抛出一个错误:
类java.util.linkedhashmap不能强制转换为类com.synesisit.biwta.base.payload.vesselinfo
GetVesselInfoByOwnerId返回列表
public List<VesselTaxStatusResponse> findPendingTaxByVesselOwnerId(String vesselOwnerNID) {
List<VesselTaxStatusResponse> vesselTaxStatusResponseList = new ArrayList<>();
List<VesselInfo> vesselInfoList = getVesselInfoByOwnerNid(vesselOwnerNID);
System.out.println(vesselInfoList);
if (vesselInfoList != null) {
for (VesselInfo v : vesselInfoList) {
Long vesselId = v.getVesselId();
VesselTaxStatusResponse vesselTaxStatusResponse = findTaxStatusByVesselId(vesselId);
vesselTaxStatusResponseList.add(vesselTaxStatusResponse);
}
}
return vesselTaxStatusResponseList;
}
public List<VesselInfo> getVesselInfoByOwnerNid(String nid) {
UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder
.getContext().getAuthentication();
String jwt = jwtTokenProvider.generateToken(authentication);
String client_url = AppConstants.GET_VESSEL_BY_OWNER_NID + nid;
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + jwt);
HttpEntity<String> jwtEntity = new HttpEntity<String>(headers);
ResponseEntity<?> result = restTemplate.exchange(client_url, HttpMethod.GET, jwtEntity, ApiResponse.class);
if (!ObjectUtils.isEmpty(result.getBody())) {
ApiResponse apiResponse = (ApiResponse) result.getBody();
List<VesselInfo> responseData = (List<VesselInfo>) apiResponse.getData();
return responseData;
}
return null;
}
1条答案
按热度按时间nzk0hqpo1#
GetVesselInfoByOwnerId是否返回hashmap?
因此,如果您的问题是如何将hashmap转换为pojo,那么一个好方法是使用jackson:final objectmapper mapper=new objectmapper();//jackson的objectmapper final vesselinfo vesselinfo=mapper.convertvalue(map,vesselinfo.class);