我知道您可以将get请求参数绑定到像这样的pojo:
@RequestMapping(value = "/reservation",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public List<Reservation> loadReservations(ReservationCriteria criteria)
return service.loadReservations(criteria);
}
Run Code Online (Sandbox Code Playgroud)
使用像这样的pojo:
public class ReservationCriteria {
String hotelName;
DateRange reservationDateRange;
//getters-setters omitted
}
Run Code Online (Sandbox Code Playgroud)
有要求:/ reservation?hotelName = myHotel
myHotel将绑定到ReservationCriteria对象中的hotelName。
但是,如何将参数绑定到嵌套对象DateRange?定义如下:
public class DateRange {
Date from;
Date to;
//getters-setters omitted
}
Run Code Online (Sandbox Code Playgroud)
有没有一种URL模式,它允许这种绑定,例如:
/reservation?hotelName=myHotel&reservationDateRange={fromDate=14.04.2016,toDate=15.04.2016}
Run Code Online (Sandbox Code Playgroud)
还是我必须声明单独的请求参数并手动绑定它们?
@RequestMapping(value = "/reservation",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public List<Reservation> loadReservations(
ReservationCriteria criteria,
@RequestParam Date from,
@RequestParam Date to)
DateRange range = new DateRange();
range.setFrom(from);
range.setTo(to);
criteria.setDateRange(range);
return service.loadReservations(criteria);
} …Run Code Online (Sandbox Code Playgroud) spring ×1