Für mich sind die Fragen ziemlich groß. :). Als mein Verständnis möchten Sie die Validierung im REST-Service fragen, die Spring unterstützen kann.
1. Müssen solche Validierungen auch auf der RestTemplate-Ebene für Antworten von REST-Aufrufen durchgeführt werden?
Eigentlich hängt es von Ihren Apps oder Ihrem Geschäft ab. Sie können dies am Controller tun, oder Sie können dies in Service Level tun oder Sie können Ihre benutzerdefinierte Validierung durchführen. Für mich zwingt dich niemand, etwas zu tun.
Allerdings, wie meine Erfahrung, sollten wir die Validierung sicher durchführen. Also meine Antwort hier ist JA.
2. Wird es auf der RestTemplate Unterstützung dafür geben, die Antworten von Ruheanrufen irgendwann in der Zukunft zu validieren?
Ich nehme an, dass Sie das Detail der Validierung möchten ?! Recht? Spring unterstützt viele Dinge für die Validierung. Für die einfache Art und Weise können Sie PathVariable
oder RequestParameter
.Für Beispiel verwenden:
@GetMapping("/test/{name}")
private String test(@PathVariable(value = "name", required = true) String name){
//...
}
Frühling werden alle Anforderungen validieren und mit 400 Bad Request reagieren, wenn der gewünschte Parameter fehlt oder hat eine falsche Art ...
Frühling unterstützt auch die JSR 303 Bean Validation: http://beanvalidation.org/1.0/spec/ zum Beispiel hier:
public class MessageBean {
@NotNull
private String title;
@NotNull
private String message;
// getters/setters/etc
}
Oder Sie möchten die benutzerdefinierte Benutzeraktion wie tun:
@ExceptionHandler
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ErrorResponse handleException(MethodArgumentNotValidException exception) {
//....
return ErrorResponse.builder().message(errorMsg).build();
}
Einige weitere Details hier: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-validation
So hängt es von den Unternehmen, die uns die Validierung auf jeder Ebene zu tun erfordert.
3. Wenn die Antwort Nein ist: (3) warum?
Keine Notwendigkeit, dies zu beantworten. :)
Hoffen, dass hilft
Klarstellung: Meine Frage bezieht sich NICHT auf die Validierung einer Anfrage. Meine Frage ist "Validierung einer Antwort von einem anderen Dienst". – Jothi