Definieren eines Ressourcen-Assemblers für einen REST Spring HATEOAS-Controller

9

Ich versuche, HATEOAS-Links zu einer JSON-Ressource hinzuzufügen, die von einem Spring-REST-Controller bedient wird.

Ich sehe, dass ich einen Ressourcen-Assembler verwenden sollte, wie in Ссылка

beschrieben

Das Beispiel zeigt eine Person-Klasse und eine PersonResource-Klasse an.

Ich verstehe, dass die PersonResource-Klasse wie folgt definiert ist:

%Vor%

Was ist dann die Personenklasse? Ist es eine Datendomenklasse?

In meinem Fall habe ich eine Admin-Klasse definiert, die eine REST-Domänenklasse ist, und ich habe angegeben, dass sie über Ressourcenunterstützung verfügt:

%Vor%

Mein REST-Controller sieht nur diese Admin-Klasse als eine REST-Domänenklasse. Es kennt keine Daten-Domain-Klasse und sollte es auch nicht wissen.

Ich frage mich also, wie ich hier die Ressourcenassembler-Unterstützung nutzen kann.

Ich verstehe nicht, warum ich hier eine zusätzliche Data Domain Admin Klasse haben sollte.

freundliche Grüße

Nach Mikes Antwort hier ist, wie mein Controller jetzt aussieht:

%Vor%

Vorher, anstatt den Ressourcen-Assembler zu benutzen, machte ich ein:

%Vor%

Aber es gab mir nicht die Ressourcen-ID in der URL.

    
Stephane 07.11.2013, 08:40
quelle

1 Antwort

8

Ihre ResourceAssembler -Implementierung muss sowohl die Datendomänenklasse als auch die REST-Domänenklasse kennen, da ihre Aufgabe darin besteht, die erstere in die letztere umzuwandeln.

Wenn Sie Ihre Datenklassen außerhalb Ihres Controllers behalten möchten, können Sie einen Ressourcenkonvertierungsdienst einrichten, der die Daten aus dem Repo abrufen und mithilfe von ResourceAssembler in Ressourcen umwandeln kann, die der Controller kennen kann .

%Vor%     
Mike Partridge 18.11.2013, 19:28
quelle

Tags und Links