У меня есть один весенний проект maven (как библиотека), и я добавляю его как зависимость в весенний проект maven (веб-сервис). У меня есть некоторые файлы свойств в обоих проектах. В библиотеке есть один файл validationmessages.properties.
Я использую аннотации валидатора гибернации в своей модели. Например,
@NotBlank(message = "{NotBlank-entityId}")
Private String entityId;
Модель класса, которая находится в библиотеке, используется в качестве тела запроса в веб-службе, здесь сообщения проверки гибернации библиотеки не работают в веб-службе. Вот код:
Модель: Task.java (в библиотеке)
public class Task {
@NotBlank(message = "{NotNull-EntityID}")
private String entityId;
public String getEntityId() {
return entityId;
}
public void setEntityId(final String entityId) {
this.entityId = entityId;
}
}
Taskvalidationmessages.properties (в библиотеке)
NotNull-EntityID = Entity ID can not be null.
TaskManagementConfiguration.java (в библиотеке)
@Configuration
@PropertySources({ @PropertySource("classpath:queries.properties"),
@PropertySource("classpath:Taskvalidationmessages.properties") })
@Import(DataSourceConfiguration.class)
public class TaskManagementConfiguration {
}
TaskResource.java (контроллер в проекте веб-сервиса)
@RequestMapping(value = WebserviceConstant.CREATE_TASK, method = RequestMethod.POST, produces = WebserviceConstant.APPLICATION_JSON)
public ResponseEntity<CreateTaskResponse> createTask(
@Valid @RequestBody final Task request,
@RequestHeader(value = "access-token") final String accessToken) {
return new ResponseEntity<CreateTaskResponse>(
taskService.createTask(request, receivedToken), HttpStatus.CREATED);
}
App.java (в проекте веб-службы)
@Configuration
@SpringBootApplication
@PropertySources({ @PropertySource("classpath:user-queries.properties") })
@Import({ TaskManagementConfiguration.class })
public class App {
public static void main(final String[] args) {
SpringApplication.run(App.class, args);
}
}
Всякий раз, когда я нажимаю URL-адрес ресурса с пустым значением entityId. Выдает ошибку вида:
{
"fieldErrors": [
{
"field": "entityId",
"code": 200,
"message": "{NotNull-EntityID}"
}
]
}