Spring RestController + JPA存储库:如何在查询中使用不同的集合参数?

问题描述 投票:0回答:1

我有RestController findAll()可以获取不同的参数集。例如:

@GetMapping
public ResponseEntity<List<? extends ParameterAbstract>> findAllParameters(boolean fullObjects, Long typeReportsId, boolean basicGroupParameters, Long groupParametersId) {
    List<Parameter> parameters = parameterService.findAll(typeReportsId, basicGroupParameters);
    //...
}

就我而言,我有两个正确的参数集是由客户端传递的:

  1. typeReportsId,basicGroupParameters-我搜索基本组中属于typeReport的参数
  2. groupParametersId-我搜索groupParameters中的参数

因此,我的存储库有两种不同的方法。可能还有更多。

我以为可以在Service中重载方法,但是如何识别RestController中收到的参数集?如果我检查所有可能的设置,将需要很长时间并且容易出错。

spring-mvc spring-data-jpa spring-restcontroller spring-repositories
1个回答
1
投票

如何在Controller中重写repo的方法,实现JpaSpecification并调用repo的方法findAll(您的规范)(或调用Services方法,后者调用repo的方法)?在规范中,您可以控制如何将不同的参数集转换为SQL。链接enter link description here

© www.soinside.com 2019 - 2024. All rights reserved.