我在我的控制器中遇到了requestmapping中的可选参数问题,请查看如下控制器代码:
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Books>> getBooks() {
return ResponseEntity.ok().body(booksService.getBooks());
}
@GetMapping(
produces = MediaType.APPLICATION_JSON_VALUE,
params = {"from", "to"}
)
public ResponseEntity<List<Books>>getBooksByFromToDate(
@RequestParam(value = "from", required = false) String fromDate,
@RequestParam(value = "to", required = false) String toDate)
{
return ResponseEntity.ok().body(bookService.getBooksByFromToDate(fromDate, toDate));
}
现在,当我发送请求时,例如:
/getBooks?from=123&to=123
没问题,请求会发送到"getBooksByFromToDate"方法。但是当我发送类似以下的内容时:
/getBooks?from=123
或者
/getBooks?to=123
它进入了“getAlerts”方法。
在@RequestMapping中,是否可以使可选参数 = {"from", "to"}?有什么提示吗?