Spring MVC - запросить параметр с дефисами в имени в POJO - PullRequest
0 голосов
/ 18 февраля 2020

My Spring Boot Application имеет API - GET: / employee

И запрос может иметь такие параметры запроса, как (ALL с da sh в имени переменной) - имя, фамилия, телефон -number, zip-code et c.

Я также должен выполнить здравую проверку JAVAX (@Size, @Pattern et c.) для этих параметров, поэтому я использую эти параметры в EmployeeRequest POJO ex. @Valid EmployeeRequest bean.

Но в именах переменных нельзя использовать дефисы, поэтому он не работает.

Я могу сделать это с помощью - @RequestParam(value = "first-name,required = false) String firstName

Но с помощью Таким образом, мой метод контроллера будет иметь десятки аргументов, и мне нужно явно проверить Javax, поэтому я пытаюсь сделать это с помощью Request POJO.

Пожалуйста, сообщите, как мы его обрабатываем, когда у нас есть несколько параметров запроса с дефис в имени и требует проверки Javax в приложении Spring Boot.

1 Ответ

0 голосов
/ 19 февраля 2020

Код Soem сделает ваш вопрос немного проще для понимания, однако кажется, что вы ищете следующее:

public class EmployeeRequest{

   @JsonProperty("first-name")
   private String firstName;

   @JsonProperty("last-name")
   private String lastName;

}

https://fasterxml.github.io/jackson-annotations/javadoc/2.6/com/fasterxml/jackson/annotation/JsonProperty.html

Определяет имя логического свойства, т.е. JSON имя поля объекта, которое будет использоваться для свойства.

...