我是 RestTemplate 新手,因此我正在寻求一些帮助来创建域类,该域类将使用 RestTemplate 获取响应。我调用 url 的 JSON 结构如下所示
[{
"id": "2",
"name": {
"firstname": "John",
"lastname": "Smith"
},
"address": {
"street": "123 Main St",
"city": "Perth",
"state": "GA"
}
},
{
"child": {
"info": {
"firstname": "Bob",
"age": "12"
}
}
},
{
"child": {
"info": {
"firstname": "Jessica",
"age": "22"
}
}
},
{
"child": {
"info": {
"firstname": "Robert",
"age": "9"
}
}
},
{
"child": {
"info": {
"firstname": "Beth",
"age": "9"
}
}
}
]
我知道我需要创建类来处理结构 我为第一部分创建了一个类{}
class FirstPart {
private String id;
private String name;
private String address;
}
然后其他部分重复(结构相同,我可以获得 0,1 或更多 {})。我如何创建我的结构才能获得响应?我相信我需要一个包含所有结构的类(我将其称为校长)
所以我的帖子将包括网址、正文和Principal.class
......
RestTemplate restTemplate = new RestTemplate();
Principal principal;
principal= restTemplate.postForObject(url,requestBody,Principal.class);
return principal
提前致谢!
最佳答案
按如下操作并对 JSON 进行小修改:
public class InfoDto{
private String firstname;
private Integer age;
//getters & setters
}
public class ChildDto{
private InfoDto info;
//getters & setters
}
public class AddressDto{
private String street;
private String city;
private String state;
//getters & setters
}
public class UserDetails{
private String firstname;
private String lastname;
//getters & setters
}
public class RestResponseDto{
private Long id;
private UserDetails name;
private AddressDto address;
private List<ChildDto> childs;
//getters & setters
}
JSON
[{
"id": "2",
"name": {
"firstname": "John",
"lastname": "Smith"
},
"address": {
"street": "123 Main St",
"city": "Perth",
"state": "GA"
}
},
childs:[{
"child": {
"info": {
"firstname": "Bob",
"age": "12"
}
}
},
...............
.............
...................
]
]
RestTemplate restTemplate = new RestTemplate();
RestResponseDto principal;
principal= restTemplate.postForObject(url,requestBody,RestResponseDto.class);
return principal
关于java - 如何设置域类以从 RestTemplate 获取响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56280414/