这是我的类,我想用RestTemplateMap到对象。我知道这不是最好的设计,但无论如何。Map只会像返回空保留数组的LockerReservations一样深。当列表中有保留时,它甚至不会Map它们。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LockerReservations {
Locker locker;
List<Reservation> reservations;
}
[
{
"locker": {
"id": 0,
"size": "S"
},
"reservations": []
},
{
"locker": {
"id": 1,
"size": "S"
},
"reservations": []
},
{
"locker": {
"id": 4,
"size": "S"
},
"reservations": [
{
"id": 17,
"start": "2023-03-14T06:37:07.006",
"end": "2023-03-14T12:37:07.006",
"user": {
"id": 1,
"name": "Kiemoon"
},
"locker": {
"id": 4,
"size": "S"
}
},
{
"id": 36,
"start": "2023-03-14T14:37:07.006",
"end": "2023-03-14T15:37:07.006",
"user": {
"id": 1,
"name": "Kiemoon"
},
"locker": {
"id": 4,
"size": "S"
}
}
]
}
这是我使用RestTemplate的方法:
public List<LockerReservations> getReservationsCheck2(Size size, LocalDateTime start, LocalDateTime end) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
Map<String, Object> sizeTimeMap = new HashMap<>();
sizeTimeMap.put("size", size.toString());
sizeTimeMap.put("start", start.toString());
sizeTimeMap.put("end", end.toString());
HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(sizeTimeMap, httpHeaders);
LockerReservations[] exchange = restTemplate.postForObject(url + "reservationsCheck", httpEntity, LockerReservations[].class);
return Arrays.asList(exchange);
}
如何获得完全反序列化?
1条答案
按热度按时间ahy6op9u1#
我是这样做的: