java如何使用rest模板中的Json,并在Spring Boot中将每个元素映射到另一个Json
我无法在SpringBoot中使用REST模板将一个已消费的json映射到另一个json到每个元素
控制器代码:
public List<Getrequests> getallrequests() {
List<Getrequests> list=Serviceobj.allrequestdata();
return list;
}
服务代码:
public List<Getrequests> allrequestdata() {
String urlGETList = "http://localhost:8082/myapp/userinfo/getusertype/asd454";//get by id call
ResponseEntity<Usertype[]> responseEntity =resttemplateobj.getForEntity(urlGETList, Usertype[].class);
Usertype[]objects = responseEntity.getBody();
List results = admininfoDaoobj.getallrequestsdata();
//results.add(objects);if i un comment this line of code i am getting 1 output means it just add to the list only
return results;
}
Dao代码:
public List<Getrequests> getallrequestsdata(){
String hql = "FROM Createrequest";
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
Query<Createrequest> query = getSession().createQuery(hql,Createrequest.class);
List resultlist= query.getResultList();
return resultlist;
}
Getrequests pojo类:
public class Getrequests{
private String userid;
private String username;
private String userphoneno;
.......getters and setters.....
}
用户类型pojo类:
public class Usertype{
private String usertype;
private String useraddress;
.......getters and setters.....
}
1输出:
[
{
"userid":"asd454",
"username":"satya",
"userphoneno":"1234567890"
},
{
"userid":"asd455",
"username":"satya",
"userphoneno":"1234567890"
}
[
{
"usertype":"admin,agent",
"useraddress:"dsadasd,asdasdsa"
},
{
"usertype":"agent",
"useraddress:"asdasdsa"
},
]
]
2输出
如果我在服务代码中注释resultlist.add(objects)
意味着它没有添加到getrequest列表中,那么我将得到以下输出:
[
{
"userid":"asd454",
"username":"satya",
"userphoneno":"1234567890"
},
{
"userid":"asd455",
"username":"satya",
"userphoneno":"1234567890"
}
]
但是我需要映射每个用户ID,我需要显示用户类型和用户地址,如下面的输出
3输出
[
{
"userid":"asd454",
[
{
"usertype":"admin,agent",
"useraddress:"dsadasd,asdasdsa"
} ]
"username":"satya",
"userphoneno":"1234567890"
},
{
"userid":"asd455",
[
{
"usertype":"agent",
"useraddress:"asdasdsa"
}
]
"username":"satya",
"userphoneno":"1234567890"
}
]
我还尝试了在Dao中调用rest模板,但也没有得到响应
如何映射每个userid以显示usertype和用户地址,如上图3所示
# 1 楼答案
从您的代码片段来看,您似乎想要生成特定的POJO签名。 有很多工具可以为您提供示例json请求的存根
从你的例子中,我想改变
Getrequests
就可以了, 比如:您可能还需要将其更改为列表引用,这取决于您的模式和总体需求
编辑
如果我将引用作为列表,则以下示例为输出:
单个对象:
作为一个数组: