Java “弹簧数据休息”;“通过……查找”;不分类
我有一个SpringBootAPI(使用2.0.5.0版本的SpringBootStarter父版本),我正在使用SpringBootStarter rest包为我的API生成端点。在其中一个存储库中,我有以下方法:Java “弹簧数据休息”;“通过……查找”;不分类,java,spring,spring-boot,spring-data-rest,Java,Spring,Spring Boot,Spring Data Rest,我有一个SpringBootAPI(使用2.0.5.0版本的SpringBootStarter父版本),我正在使用SpringBootStarter rest包为我的API生成端点。在其中一个存储库中,我有以下方法: @Repository public interface RackPositionDao extends JpaRepository<RackPosition, String> { List<RackPosition> findByRack(@Par
@Repository
public interface RackPositionDao extends JpaRepository<RackPosition, String> {
List<RackPosition> findByRack(@Param("rack") Rack rack);
}
@存储库
公共接口RackPositionDao扩展了JpaRepository{
列出findByRack(@Param(“机架”)机架);
}
它在http://{base}/api/v1/rackPositions/findByRack处公开一个端点
如果我那时打电话
http://{base}/api/v1/rackPositions/findByRack?rack={rack
url}&sort=positionNumber,asc
在《邮递员》中,返回的列表没有排序positionNumber'是RackPosition实体上的属性
但是,如果我将存储库方法更改为
@Repository
public interface RackPositionDao extends JpaRepository<RackPosition, String> {
List<RackPosition> findByRackOrderByPositionNumberAsc(@Param("rack") Rack rack);
}
@存储库
公共接口RackPositionDao扩展了JpaRepository{
列出findByRackOrderByPositionNumberAsc(@Param(“rack”)rack rack);
}
然后打电话
http://{base}/api/v1/rackPositions/findByRackOrderByPositionNumberAsc?rack={rack
url}
它很好用。排序参数不起作用有什么原因吗?请遵循以下步骤:
List findAll(示例,排序)
请遵循以下步骤:
List findAll(示例,排序)
jpa存储接口扩展
因此,您可以将端点用作http://{base}/api/v1/rackPositions/findbyRack
或http://{base}/api/v1/rackPositions/findbyRack
避免戴骆驼帽 JpaRepository接口扩展 因此,您可以将端点用作
http://{base}/api/v1/rackPositions/findbyRack
或http://{base}/api/v1/rackPositions/findbyRack
避免戴骆驼帽 有两种方法可以对Spring数据JPA中的结果进行排序
@Query(“按位置编号ASC从机架订单中选择r”)
findByRackOrderByPositionNumberAsc
())Sort sort = new Sort(new Sort.Order(Direction.ASC, "lastName"));
Object obj = repo.findByRack(rackObject, sort);
List findByRack(@Param(“rack”)rack-rack,org.springframework.data.domain.Sort)代码>
Sort sort = new Sort(new Sort.Order(Direction.ASC, "lastName"));
Object obj = repo.findByRack(rackObject, sort);
有两种方法可以对Spring数据JPA中的结果进行排序
@Query(“按位置编号ASC从机架订单中选择r”)
findByRackOrderByPositionNumberAsc
())Sort sort = new Sort(new Sort.Order(Direction.ASC, "lastName"));
Object obj = repo.findByRack(rackObject, sort);
List findByRack(@Param(“rack”)rack-rack,org.springframework.data.domain.Sort)代码>
Sort sort = new Sort(new Sort.Order(Direction.ASC, "lastName"));
Object obj = repo.findByRack(rackObject, sort);
我一直使用
findBy…OrderBy..
接口-您认为sort
参数在哪里可以工作?尝试更改http://{base}/api/v1/rackPositions/findByRack?rack={rack url}&sort=positionNumber,asc
到http://{base}/api/v1/rackPositions/search/rack?rack={rack url}&sort=positionNumber,asc
@ScaryWombat@MatthewSatti如下面所述,您不应该使用URL中的查找部分,URL的结构看起来有点像different@Kartik很高兴我能来这里,learnI一直在使用findBy…OrderBy..
接口-您认为sort
参数在哪里可以工作?尝试更改http://{base}/api/v1/rackPositions/findByRack?rack={rack url}&sort=positionNumber,asc
tohttp://{base}/api/v1/rackPositions/search/rack?rack={rack url}&sort=positionNumber,asc
@ScaryWombat@MatthewSatti如下面所述,您不应该使用url中的findBy
部分,URL的结构看起来有点像different@Kartik很高兴我能来这里学习,请注意上面的构造函数(Sort(Order…orders)
)已被Spring 2.1.3弃用,所以请改用它:Sort Sort=new Sort(Sort.Direction.ASC,“lastName”)代码>请注意,上面的构造函数(Sort(Order…orders)
)已被Spring 2.1.3弃用,因此请改用它:Sort Sort=new Sort(Sort.Direction.ASC,“lastName”)代码>