Einfachste Frameworks implementieren Web Services Java REST [geschlossen]
-
18-09-2019 - |
Frage
Was sind die besten Rahmenbedingungen für die Umsetzung sowohl Client- als auch Server-REST-Frameworks in Java? Ich habe ein wenig zu kämpfen eine einfach zu bedienende Lösung zu finden.
Aktualisieren : Sowohl Jersey und Restlet scheinen, wie gute Möglichkeiten. Wir werden wahrscheinlich Restlet verwenden, aber wir werden mit beiden experimentieren.
Lösung
Restlet klingt wie sollte es das, was Sie suchen:
- Unterstützung für Client und Server (in einem relativ symmetrischen api)
- Smart url Bindung
- MIME-Typ Verständnis (gegeben akzeptiert MIME-Typ, wird sie Ihre Ressourcen für ihre Darstellung in dieser Art stellen)
- Unterstützt JAX-RS Anmerkungen (wie Jersey)
Andere Tipps
Jersey ist wirklich einfach für beide. Zum Schreiben von Web-Services, die Sie verwenden Anmerkungen:
@Path("/helloworld")
public class HelloWorldResource {
// The Java method will process HTTP GET requests
@GET
// The Java method will produce content identified by the MIME Media
// type "text/plain"
@Produces("text/plain")
public String helloWorld() {
// Return some cliched textual content
return "Hello World";
}
}
Für einen Kunden:
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/helloworld");
String s = webResource.get(String.class);
System.out.println(s); // prints Hello World
Hier finden Sie aktuelle dropwizard zu.
Restlet unterstützen auch Anmerkungen in seiner Version 2.0 sowohl auf dem Client und Server-Seite. Die JAX-RS API wird auch als eine Erweiterung unterstützt.
Hier ist ein einfaches Beispiel für die serverseitige:
public class HelloWorldResource extends ServerResource {
@Get
public String represent() {
return "hello, world";
}
}
Auf der Client-Seite:
// Outputting the content of a Web page
new ClientResource("http://www.restlet.org").get().write(System.out);
Für weitere Dokumentation, besuchen Sie diese Seite .
Es gibt JBoss' neuen Resteasy Bibliothek. Es scheint unter rasanter Entwicklung seit der ersten Markteinführung zu sein. Ich habe keine Ahnung, ob es etwas Gutes; es ist auf meinem 'check it out' -Liste.
Sie können einen Blick auf die CXF JAX-RS Implementierung nehmen. Für eine vollständige Liste der Funktionen überprüfen Sie die CXF Website für JAX-RS . Die Gemeinde hinter dem Projekt scheint sehr aktiv (Juli 2013) zu sein. Ein Indiz dafür ist die Anzahl der Nachrichten pro Tag in der CXF Mailinglisten .
Ich habe es nicht persönlich in Anspruch genommen, aber einige Teams, die mit denen ich arbeite sind mit Spring MVC 3. REST in Spring 3: @MVC sieht aus wie eine Blog-Post Übersicht gut. Die RESTful Features sind "URI-Vorlagen", "Content Negotiation", "HTTP-Methode Conversion", "ETag Unterstützung" und vieles mehr.
Bearbeiten : Auch hierzu finden Sie diese Frage: Kann mir jemand einen Java Web-Framework empfehlen, der auf MVC und unterstützt REST basiert?
kann ich Apache Wink, einen neuen Rahmen noch in Inkubation Modus, aber sehr ausgereift und qualitativ hochwertigen empfehlen.
http://incubator.apache.org/wink/
Es implementiert die JAX-RS-Spezifikation, es hat sowohl Client & Server-Framework für REST-Entwicklung. Apache ist hinter diesem Projekt steht - das ist immer ein gutes Zeichen (und eine gute Lizenz :-))
Was ich am meisten an diesem Rahmen ist die intuitive Integration mit Spring, es ist sehr nützlich, wenn Sie Ihren Rahmen wollen einfach erweitert konfiguriert und werden.
UPDATE: Xydra Restless wird nicht mehr gepflegt +++ Wenn Ihr Goolge AppEngine verwenden, bevor sie ein "Reserve-Instanz" Feature Release, könnten Sie die Xydra Restless , die schnell einige Funktionen, aber Lasten hat.