之前客户端需要根据需求按不同的排序方式查看数据,按照一种约定排序,比如1代表时间升序,2代表时间降序,3,4这种形式,然后后台根据这些值创建Sort对象。
后来发现完全多此一举,可以根据特定的方式,直接在controller层获得到Sort对象,例如客户端调用localhost:8080/user/blogs?sort=createdDate,desc,在controller层可以这样:
public String list(@SortDefault Sort sort){}
@SortDefault可以设置默认排序字段和默认direction。
排序的方式也可以传多个,比如sort=createdDate,desc&sort=name,desc甚至可以sort=-createdDate,其中-表示按DESC排序,不写这个-默认按ACS