Welcher Typ von exception zu werfen, die im Frühjahr RestController, wenn die Validierung fehlschlägt?

Im Frühjahr RestController ich habe ein input-Validierung der RequestBody einfach durch kommentieren der entsprechenden parameter der Methode als @Valid oder @Validated. Einige andere überprüfungen können nur durchgeführt werden, nachdem einige der Verarbeitung der eingehenden Daten. Meine Frage ist, welche Art von Ausnahmen sollte ich verwenden, sodass er etwa die Ausnahme, die ausgelöst durch die @Valid annotation, und wie gestalte ich diese Ausnahme aus der überprüfung ergeben. Hier ist ein Beispiel:

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> createOrder(@RequestBody @Validated(InputChecks.class) Order order) {
    //Some processing of the Order goes here
    Set<ConstraintViolation<Order>> violations = validator.validate(order, FinalChecks.class);
    //What to do now with the validation errors?
    orders.put(order);
    HttpHeaders headers = new HttpHeaders();
    headers.setLocation(ServletUriComponentsBuilder.fromCurrentRequest().path("/" + order.getId()).build().toUri());
    return new ResponseEntity<>(null, headers, HttpStatus.CREATED);
}

InformationsquelleAutor Gregor | 2016-03-03

Schreibe einen Kommentar