Spring JPA QuerydslPredicate Snake Case

时间:2018-11-13 04:45:39

标签: spring-boot querydsl predicate

我正在将Spring Boot与Query DSL一起使用。我已将弹簧靴配置为使用蛇皮套,即spring.jackson.property-naming-strategy=SNAKE_CASE。所以我的json有效负载输入和输出处于蛇形情况,如下所示:

{
  "first_name": "First",
  "last_name": "Last"  
}

我正在使用@QuerydslPredicate进行搜索。如果我在如下所示的蛇形情况下输入查询参数

(http://localhost:8080/context/resource/?first_name=First)

它不是由查询DSL谓词分析的。但是,如果我在骆驼的情况下提供以下

(http://localhost:8080/context/resource/?firsName=First)

它工作正常。这与json结构不是同义词。

如何在查询参数中实现蛇案,以便查询DSL对其进行解析?

这就是我的REST端点的样子

@GetMapping
public ResponseEntity<Output> listUsers(@QuerydslPredicate(root = User.class) Predicate predicate, Pageable pageable) {
            ...
            return new ResponseEntity<>(output, HttpStatus.OK);
        }

PN:我的模型对象处于驼峰状,如下所示

模型对象

public class User {
    private String firstName;
    private String lastName;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

我在HandlerMethodArgumentResolver上遇到了一个解决方案,但这是很多工作。除了完成所有模型字段之外,应该有一种自动化的方法。

0 个答案:

没有答案