Я использую Spring 4.1.4
и реализую простой сервис REST
. У меня есть метод POST
, который в качестве запроса получает объект Person
.Spring 4 MVC - Rest service - использовать значения по умолчанию в bean-компонентах
@ResponseStatus(value = HttpStatus.CREATED)
@RequestMapping(value = "", method = RequestMethod.POST, headers = "Accept=application/json", consumes = "application/json")
public void add(@Valid @RequestBody Person oPerson) throws Exception {
//do the things
}
Bean:
public class Person {
public Person(){ }
private String firstname;
private String lastname;
private Integer activeState;
//getter+setter
}
Мой вопрос - есть ли возможность установить значение по умолчанию для свойств в компоненте. Что-то вроде этого:
@Value(default=7)
private Integer activeState;
Я знаю, что при использовании @RequestParam
аннотацию в @RestController
Methode это можно установить значение по умолчанию с @RequestParam(value="activeState", required=false, defaultValue="2")
, но есть возможность сделать подобную вещь на уровне класса?
Когда должно быть применено значение по умолчанию: если параметр отсутствует в запросе вообще, если параметр имеет значение null/empty? – Ralph
Просто просто объявите значение для целочисленного поля в классе: 'private Integer activeState = 2;' Или я неправильно понял вас? –
@Ralph Хороший вопрос - в обоих случаях: нет и пустой или пустой –