Spring JPA QuerydslPredicate Чехол со змеей - PullRequest
0 голосов
/ 13 ноября 2018

Я использую весеннюю загрузку с 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.

Как я могу получить случай змеи в параметрах запроса, чтобы Query 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, но это большая работа.Должен быть способ автоматизировать его, чем делать все поля модели.

...