Установите значение по умолчанию в RequestBody, если переменная пуста или равна нулю

#java #spring

#java #весна

Вопрос:

У меня есть пример метода контроллера

 public void generateFile(@RequestBody final FileRequest request) {
...
}
  

Иногда не все поля этого класса FileRequest заполняются, есть ли какой-либо способ установить значение по умолчанию, когда значение в запросе пустое или нулевое?

Я имею в виду что-то вроде @Default

Ответ №1:

В классе FileRequest задайте поле со значением. Если поле не заполнено, оно будет использовать значение по умолчанию в классе. Используйте lombok, класс слишком прост. как показано ниже:

 // class User
import lombok.Data;

@Data
public class User {
    private String name;
    private String address="beijing";
    private int age=10;
}

// in Class restConctroller

   @RequestMapping(value = "/res1/data")
    public Object postData(@RequestBody User user){
        return user;
    }

  

после post http://localhost:8080/res1/data используя name=’aaa’, вы получите результат в виде

 {
  "name": "aaa",
  "address": "beijing",
  "age": 10
}