【发布时间】:2018-04-30 12:05:34
【问题描述】:
我有以下控制器代码
@GetMapping("/users")
public ResponseEntity<UserDto> getUsers(Filter filter) {
return ResponseEntity.ok(userService.findUsers(filter));
}
Filter.java:
public class Filter {
private Integer page;
private Integer size;
private String sort;
... lots of other parameters
}
请求参数被写成Java对象,以避免向控制器添加大量参数。但是,Spring 将所有参数设为可选。我想要的是有一些像page 和size 这样的参数是必需的,但其他像sort 是可选的。如果我将它们作为控制器参数,我可以使用@RequestParam(required = true/false)。是否可以在 Java 类中做类似的事情?
【问题讨论】:
-
你可以使用 kotlin 和默认参数 :) (这是一个玩笑,不是一个真正的建议;但如果你愿意,你可以这样做)
标签: java spring spring-boot http-request-parameters