Читать книгу Spring Boot - Mark Heckler - Страница 35

@RestController in a Nutshell

Оглавление

Ohne jetzt allzu sehr ins Detail zu gehen, aber Spring MVC (Model View Controller) wurde geschaffen, um eine Trennung zwischen den Daten, ihrer Übermittlung und ihrer Präsentation zu erreichen, vorausgesetzt, die Ansichten würden als auf dem Server ausgeführte Webseite bereitgestellt. Die Annotation @Controller hilft dabei, die verschiedenen Teile zu koppeln.

@Controller ist ein Stereotyp/Alias für die Annotation @Component, was bedeutet, dass beim Anwendungsstart eine Spring Bean – ein Objekt, das innerhalb der Anwendung durch den Spring-IoC-(Inversion-of-Control-)Container erzeugt und verwaltet wird – aus dieser Klasse erzeugt wird. @Controller-annotierte Klassen enthalten ein Model-Objekt, um der Darstellungsschicht modellbasierte Daten bereitzustellen, und arbeiten mit einem ViewResolver, um der Anwendung zu erlauben, eine bestimmte View anzuzeigen, die von einer View-Technologie erzeugt wird.

Spring unterstützt mehrere View-Technologien und Templating-Engines. Wir behandeln diese in einem späteren Kapitel.

Es ist außerdem möglich, eine Controller-Klasse anzuweisen, eine formatierte Antwort als JavaScript Object Notation (JSON) oder ein anderes datenorientiertes Format wie XML zurückzuliefern, indem einfach eine @ResponseBody-Annotation zur Klasse oder Methode hinzugefügt wird (standardmäßig JSON). Dies führt dazu, dass der Object/Iterable-Rückgabewert einer Methode der gesamte Body der Antwort auf eine Webanfrage ist, statt nur ein Teil des Model.

Die @RestController-Annotation ist eine Convenience-Notation, die @Controller mit @ResponseBody zu einer einzigen aussagekräftigen Annotation kombiniert, Ihren Code vereinfacht und Ihre Absichten besser verdeutlicht. Sobald wir eine Klasse als @RestController annotiert haben, können wir damit beginnen, unser REST-API herzustellen.

Spring Boot

Подняться наверх