Я создаю простое приложение Spring REST, и ниже приведен мой класс конфигурации Spring;
@Configuration
@EnableWebMvc
@ComponentScan( basePackages = "com.example.spring" )
public class AppConfig {
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages");
return messageSource;
}
}
И это то, что я сделал в своем классе контроллера;
@RequestMapping(value = "/create", method = RequestMethod.POST)
public ResponseEntity<Map<String, String>> createEmployee(@Valid @RequestBody EmployeeModel employeeModel, BindingResult result) {
if (result.hasErrors()) {
System.out.println("Errors: " + result.getAllErrors());
Map<String, String> response = new HashMap<>();
response.put("status", "failure");
return new ResponseEntity<>(response, HttpStatus.OK);
}
employeeService.createEmployee(employeeModel);
Map<String, String> response = new HashMap<>();
response.put("status", "success");
return new ResponseEntity<>(response, HttpStatus.OK);
}
Я аннотировал свое поле имени в EmployeeModel, как показано ниже;
@NotEmpty
@Column(name = "name")
private String name;
А это мой файл messages.properties, который находится в папке src/main/resources.
NotEmpty.employeeModel.name = Employee name is required.
Но я не могу прочитать это сообщение об ошибке, я получаю только сообщение по умолчанию для @NotEmpty.
Я даже пробовал со следующей конфигурацией;
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages");
return messageSource;
}
Пожалуйста, помогите мне с этим!