Ich habe mit Spring , thymeleleaf und AngularJS eine Portletanwendung für liferay erstellt. Für die Kommunikation zwischen AngularJS
und Spring muss ich einige Ruheaufrufe erstellen, die ich mit @ResourceMapping
like wie unten gezeigt erstellt habe. Die Anwendung funktioniert gut, aber das Problem ist, dass ich nicht weiß, wie GET
, DELETE
, PUT
http REST
ruft, da @ResourceMapping
keine Methoden angeben kann.
Wenn ich @RequestMapping
anstelle von @ResourceMapping
verwendet habe, wie unten gezeigt
Ich habe org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Mode mappings conflict between method and type level: [getUserDetail] versus [view]
Kann mir bitte jemand eine Lösung dafür geben
@ResourceMapping
@RequestMapping
anstelle von @ResourceMapping
im Liferay Spring Portlet für REST
Aufrufe REST
URLs wie getUser/12/mumbai
erstellen?
REST
json als Body anstelle von Request Param Moduszuordnungen stehen in Konflikt Ausnahme
Die Frage zeigt es nicht, aber Ihr Controller hat wahrscheinlich @RequestMapping("view")
Annotation. Diese Zuordnung auf Typenebene steht in Konflikt mit den Zuordnungen auf Methodenebene. Sie sollten @RequestMapping
Annotation für die Controller-Klasse entfernen.
Anforderungsabbildungsbeispiele
%Vor%Ich habe die Beispiele aus verwendet RESTFul Dienste mit Liferay Blogbeitrag. Es beantwortet alle Ihre Fragen und präsentiert viele Beispiele. Achten Sie auf die Spring-Konfiguration, die die REST-fähigen Dienste ermöglicht (insbesondere den View Resolver und den Nachrichtenkonverter).
Hier sind einige Beispiele, die Ihnen helfen können. So verwende ich @RequestMapping
:
Anstelle von RequestMethod.GET
können Sie RequestMethod.POST
, RequestMethod.PUT
, RequestMethod.DELETE
usw. verwenden ...
Hier ist ein Code-Snippet, das ich momentan mit einem AngularJS Frontend zur Benutzerregistrierung verwende. Es funktioniert gut und ich benutze @RequestMapping:
%Vor%Um konsumiere JSON , was du tust:
%Vor%Um produzieren (zurückgeben) JSON Sie tun:
%Vor%Auch wenn Sie Spring verwenden, denke ich, dass Sie sich Spring Data und Spring Data Rest . Auf diese Weise können Sie Ihre Geschäftsmodelle als REST-konforme Endpunkte verfügbar machen.
Um diesen Endpunkt getUser/12/mumbai
verfügbar zu machen, sollten Sie Folgendes tun:
Schließlich können Sie bitte versuchen,
zu ändern %Vor%zu diesem
%Vor%%Vor%Es gibt folgende Methoden, um die rest app mit angular js
zu verwenden
und verwenden Sie folgendes JavaScript, um mit dem Federcontroller zu kommunizieren