Unterstützung mehrerer Inhaltstypen in einem Spring-MVC-Controller

8

Ein Rails Controller macht es sehr einfach, mehrere Inhaltstypen zu unterstützen.

%Vor%

Schön. In einer Controller-Aktion kann ich leicht auf mehrere Inhaltstypen mit viel Flexibilität reagieren, was ich rendern möchte, sei es eine Vorlage, eine serialisierte Form meines Objekts, etc.

Kann ich etwas Ähnliches in Spring-MVC machen? Was ist der Standard für die Unterstützung mehrerer Inhaltstypen im Frühling? Ich habe Lösungen mit View-Resolvern gesehen, die jedoch schwierig zu verwalten sind, insbesondere wenn ich JSON zusätzlich zu xhtml und xml unterstützen möchte.

Irgendwelche Vorschläge werden geschätzt, aber die einfacheren und eleganteren Lösungen werden mehr geschätzt;)

BEARBEITEN

Wenn ich falsch behaupte, dass ein View-Resolver schwer zu verwalten ist, können Sie mich gerne korrigieren und ein Beispiel geben. Vorzugsweise eine, die xml, xhtml und JSON zurückgeben kann.

    
Samo 09.12.2010, 22:07
quelle

2 Antworten

7

Im Frühjahr 3 möchten Sie org.springframework.web.servlet.view.ContentNegotiatingViewResolver verwenden.

Es wird eine Liste des Medientyps und ViewResolvers benötigt. Aus der Spring-Dokumentation :

%Vor%

Der Controller:

%Vor%

Sie müssen auch die Jackson JSON-Gläser einschließen.

    
Todd 10.12.2010, 01:34
quelle
0

Hier folgt der Arbeitsbeispiel-Controller, der JSON und HTML auf der Basis des Anfrage-Headers "Content-Type" darstellt.

%Vor%     
Radhe Rajput 21.06.2017 14:07
quelle