我在我的 RestController
遵循一些类似的签名。
@GetMapping
public SomeItem get(@RequestParam String sortBy,
@RequestParam String sortField,
@RequestParam int pageNumber,
@RequestParam int pageSize) {
QueryOptions queryOptions = QueryOptions.of(sortyBy, sortField, pageNumber, pageSize);
// ...
}
我想知道是否有办法从所有不同的方法中删除这些重复的代码 QueryOptions
前期建设 RestController
方法,这样我就可以使用下面这样的方法。
@GetMapping
public SomeItem get(QueryOptions queryOptions) {
// ...
}
我该怎么做呢?也许在filterchain中添加一个过滤器?
事实证明,这个是开箱即支持的。
@Getter
@Setter
public class QueryOptions {
private String pageNumber;
private String pageSize;
private String orderBy;
private String sortField;
}
然后你可以在Controller方法中接受这个Class:
@GetMapping
public SomeItem get(QueryOptions queryOptions) {
// ...
}