Ich habe RESTful-Web-Services in Java untersucht und die meisten Ansätze, die ich gefunden habe, scheinen ziemlich aufgebläht zu sein. Dazu gehören Ansätze von NetBeans, Spring 3 und EJB mit Singletons.
Ich könnte mich irren, also bitte fühlen Sie sich frei, mich zu korrigieren, aber diese "fühlen" sich wie sehr komplizierte Lösungen für ein relativ einfaches Problem.
Kann jemand einen sehr einfachen und leichten Ansatz vorschlagen, RESTful Webservices in Java zu machen?
Ich bin nicht überzeugt, MVC ist am hinteren Ende für diese notwendig, stattdessen sehe ich saubere vertikale Schnitte.
Ich brauche keine Persistenz, es sei denn, es kann mit mongoDB verdrahtet werden - also brauche ich kein ORM-Mapping.
Sehen Sie sich Dropwizard an, in der Zusammenfassung auf der Website steht, was gesagt werden muss.
Entwickelt von Yammer, um ihre JVM-basierten Backend-Dienste zu betreiben, Dropwizard fasst stabile , reife Bibliotheken aus dem Java zusammen in ein einfaches , leichtgewichtiges Paket, auf das Sie sich konzentrieren können Dinge erledigen.
Dropwizard unterstützt sofort die anspruchsvolle Konfiguration, Anwendungsmetriken, Protokollierung, operative Tools und vieles mehr, damit Sie und Ihr Team ein HTTP + JSON-Web in Produktionsqualität versenden können Service in kürzester Zeit möglich.
Ich habe es kürzlich für eine einfache App verwendet und es hat sich als sehr schnell und einfach erwiesen, es zu benutzen und zu benutzen, bis die App fertig war.
Um noch eine weitere Option in den Mix zu werfen, schaut euch Spark an:
Ein von Sinatra inspiriertes Micro-Web-Framework
Für Java.
Habe es nicht persönlich benutzt, aber es sieht vielversprechend aus und ich werde es definitiv überprüfen.
Und, nein, ich bin in keiner Weise mit Spark verbunden.
Für "datenbasierte" REST-konforme Dienste haben Sie wahrscheinlich recht, wenn Sie von MVC ausgehen ... Sie möchten, dass JSON von URLs zurückkommt.
Für echte RESTful-Dienste (basierend auf Hypermedia) mit benutzerdefinierten Medientyp-Formaten..MVC spielt wirklich gut, da die Ansichten zu Ihren Medienformatvorlagen werden. Dies gilt insbesondere, wenn Sie HTML / XML als Basismedienformat verwenden.
Ich würde vorschlagen, das Paket Apache Httpcomponents zu verwenden. Mit diesem können Sie einen erholsamen Web-Service ziemlich einfach haben.
Es gibt ein Beispiel für nicht blockierender, asynchroner HTTP-Server oder alten Stil, einen blockieren .
Ein weiterer Vorteil ist, dass hierfür keine Anwendungsserver benötigt werden. Sie können Ihre Anwendung einfach starten und los geht's. Wenn Sie nicht die Leistung eines Servlet-Containers oder Java EE benötigen, ist dies kein guter Weg.