Spring RESTful Web Service

MKLogan

Grünschnabel
Moin Moin,

ich habe bereits ein paar Erfahrungen mit RESTful Spring MVC gesammelt, z.B. [1],[2].
Läuft auch alles recht gut und bin auch total begeistert, jedoch fehlt mir eine formal definierte Schnittstellenbeschreibung a la WSDL, wo ich dann auf Client-Seite (u.a. Android) mir aus der WSDL (bzw. dem XML Schema) die Java-Objekte sowie einen Stub generieren lassen kann.

Hat jemand eine Idee/Tutorials, wie ich aus ggfs. mehreren Controllern einen Web Service generieren kann oder andere Realisierungsvorschläge? Wenn möglich, wäre es super, wenn die Kommunikation über JSON laufen könnte.
Über Feedback würde ich mich freuen!

Viele Grüße
MK

[1] http://www.oudmaijer.com/2010/01/16/spring-3-0-rest-services-with-spring-mvc/
[2] http://www.slideshare.net/indicthreads/building-restful-applications-using-spring-mvc
 
Zuletzt bearbeitet:

Thomas Darimont

Erfahrenes Mitglied
Hallo,

zu deiner ersten Frage:

zur Realisierung von Schema basierten REST Webservices gibt es WSDL 2.0:
http://www.ibm.com/developerworks/webservices/library/ws-restwsdl/

AXIS2 kann unterstützt auch REST basierte Web Services und unterstützt Schemagenerierung:
http://axis.apache.org/axis2/java/core/docs/rest-ws.html

Jersey bietet mit WADL (http://wadl.java.net/) Unterstützung für die Beschreibung von Rest-Interfaces via XML:
http://wikis.sun.com/display/Jersey/WADL

Für JSOn gibt es übrigens auch einen Schema basierten Ansatz: JSON-Schema
http://json-schema.org/


zu deiner zweiten Frage:
Wie man aus mehreren Spring Web MVC Controllern einen großen Webservice generiert weis gerade nicht, denke aber auch, dass man dort eher selbst handanlegen müsste -> zur Laufzeit dynamisch einen Webservice definieren welcher dann an die Controller delegiert. Aber eigentlich sollten die Controller doch bereits die Einsprungpunkte in die Anwendung sein, weshalb also noch eine Ebene drum herum legen?
Btw. Spring Web MVC basierte Rest Web Services unterstützen bereits JSON basierte Datenübermittlung (MappingJacksonHttpMessageConverter -> verwendet wie der name schon sagt http://jackson.codehaus.org/).

Gruß Tom