当我不使用
实体类:
控制器类:
@RequestBody
时,@PathVariable
中的id
会自动设置为我的Entity
类。但是如果我使用@RequestBody
,它就不会这样做。我需要在我的GenericValidator
执行验证之前设置Entity
的id
。为什么没有@RequestBody
可以工作而使用它不能?实体类:
public class Entity {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
//...
}
控制器类:
@Controller
@RequestMapping(value = "/entity")
public class EntityController {
@Autowired
private GenericValidator validator;
@InitBinder
private void initBinder(WebDataBinder binder) {
binder.addValidators(validator);
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public @ResponseBody Response update(
@PathVariable String id,
@Valid @RequestBody Entity entity)
{
//...
}
}