问题描述
参考下面的代码,我试图将结果转换为 Profile 类型模型并对其进行迭代以获取该字段。但是我得到了类转换异常。请参阅下面所附的示例响应,需要从结果中获取 pid。
//code
// search profile by profileId
SearchCriteria sc = new SearchCriteria(Profile.PROFILE_ID,EQUALS,profileId);
SearchInput searchInput = SearchInput.builder().criteria(sc).build();
HttpEntity<SearchInput> searchRequest = new HttpEntity<>(searchInput);
PageableResponse response = restTemplate.postForObject(searchUrl,searchRequest,PageableResponse.class);
Object results = response.getResults();
ArrayList<Profile> profiles = (ArrayList<Profile>) results;
System.out.println(profiles.get(0));
for(Profile p: profiles) {
log.trace(p.getId());
}
}
错误日志:
java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class com.model.profile.Profile (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; com.palmtree.matrimony.model.profile.Profile is in unnamed module of loader 'app')
at com..integration.ProfileSearchIntegrationTest.searchProfileByProfileId(ProfileSearchIntegrationTest.java:97)
// 示例响应
{
"total": 1095,"page": 0,"size": 50,"results": [
{
"id": "_AGi3ncBn8p1nefEm0Oe","cdt": "2021-02-26T13:58:54.563Z","mdt": "2021-02-26T13:58:54.563Z","pid": 12038422,"ps": "Draft"...}]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)