当前位置: 首页 > 知识库问答 >
问题:

Java REST API复杂查询

毋澄邈
2023-03-14

我有一张这样的桌子:

现在我想创建一个返回经过过滤的数据集的REST APIendpoint:

  1. 它应正确筛选API参数的任何组合。
  2. 所有参数都是可选的

看看这个示例:Get/API?type=s&max_price=1000&min_price=200&address=berlin

我想要能够过滤基于每个参数或组合的2或参数。

我应该如何编写@RequestParam?这是一个复杂的查询。对此有何策略?

共有1个答案

麻书
2023-03-14

尝试简单的获取请求,如:

    @GetMapping(value = "/api")
public ReturnDto test(
        @RequestParam(required = false, value = "type", defaultValue = "0") String type,
        @RequestParam(required = false, value = "max_price", defaultValue = "10000") int maxPrice,
        @RequestParam(required = false, value = "min_price", defaultValue = "0  ") int minPrice,
        @RequestParam(required = false, value = "address", defaultValue = "") int address
        ) {
}

如果不需要默认值,可以删除defaultvalue关键字,但需要将int更改为Integer,以允许null值。

 类似资料:
  • 我有这个: 如何从hashlist中排除“item”?打破了我的头。Linq不想对我开放。

  • 问题内容: 我有以下ManyToMany映射。 我想检索与Classe2实体有关系的所有Class1实体,其中class2Id = 1和class2Id = 2和class2Id = 3。{1,2,3} 或者,要过滤在其class2列表上具有的Classe1实体,请使用具有以下值的Class2实体:class2Id = 1和class2Id = 2和class2Id = 3 例如: 如果在联接表上

  • 我对规范、构建器、查询不是很有经验,我必须做一个相当复杂的查询,就像这样: 我有一个这样的DTO: 对我来说很难。我什么都试过了。我宁愿给你看一个具体的案例,以免产生误解。有人能帮我吗?我将非常感激! 我不需要使用规范,我只需要能够重现那个查询示例,规范似乎是最好的选择。 谢谢大家。

  • 给定集合"foo",我们有字段"bar",看起来像这样: 如何查询字段“bar”上满足以下条件的所有“foo”:[14,18]中的“uid”=2和“mid”

  • 如何将这个复杂的sql语句更改为JPQL? 这是否可以在JPQL表单中显示?

  • 我一直在学习MongoDB在Spring Boot中的实现。然而,我遇到了复杂查询的问题。 对于如何从Spring Boot到MongoDB实现复杂查询,我找不到任何正确的解决方案。 null POJO类是bellow的 我想实现什么? 我想做一个查询,这将返回给我一个人,他的宠物有一个玩具(PetToy)与名称“泰迪”。 事先非常感谢。