@RequestMapping(method = POST) @ResponseBody public ResponseEntity submit(@Valid MyRequestType request, BindingResult result) { if (result.hasErrors()) { return new ResponseEntity<>(getErrorsInASaneFormat(result), BAD_REQUEST); } // do stuff return new ResponseEntity(CREATED); } private Map getErrorsInASaneFormat(final BindingResult result) { return new HashMap() {{ for (FieldError error : result.getFieldErrors()) { put(error.getField(), error.getDefaultMessage()); } }}; }