【问题标题】:Spring RestController + JPA Repository: How to work with different sets parameters in query?Spring RestController + JPA Repository:如何在查询中使用不同的集合参数?
【发布时间】:2020-04-16 01:44:59
【问题描述】:

我有 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 中的参数

所以我的存储库有两种不同的方法。 可能还有更多。

我认为我可以在我的服务中重载方法,但是我如何识别在 RestController 中接收到的参数集?如果我检查所有可能的集合,这将需要很长时间并且会出错。

【问题讨论】:

  • 在方法参数中使用多态性@Body 应该可以工作

标签: spring-mvc spring-data-jpa spring-restcontroller spring-repositories


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 2017-11-23
  • 2015-01-12
  • 2015-03-21
  • 2020-05-11
  • 1970-01-01
  • 2019-10-04
  • 2021-02-24
  • 2011-03-30
  • 1970-01-01
相关资源
最近更新 更多