Wenn ich nicht @RequestBody
@PathVariable
id
verwenden wird automatisch auf meine Entity
Klasse festgelegt. Aber wenn ich @RequestBody
verwende ist es nicht. Ich brauche, dass die id
von Entity
gesetzt ist, bevor meine GenericValidator
Validierung durchführt. Warum funktioniert es ohne @RequestBody
und nicht damit?@PathVariable nicht verbindlich mit @RequestBody
Das Entity-Klasse:
public class Entity {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
//...
}
Die Controller-Klasse:
@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)
{
//...
}
}
also gibt es keine Möglichkeit, dies mit @RequestBody zu arbeiten? – dblank