【发布时间】:2017-06-28 06:08:36
【问题描述】:
我正在创建一个简单的 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;
}
请帮我解决这个问题!
【问题讨论】:
-
你有没有得到这个答案?我有完全相同的问题,下面的建议都没有解决它。
标签: spring spring-mvc hibernate-validator spring-restcontroller spring-rest