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.

War es hilfreich?

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.

Mein Favorit ist Frühling MVC , haben Sie Unterstützung sowohl für Client- und Server-Seite ... und Sie haben auch Android-Unterstützung =)

Zum Beispiel können Sie ein Beispiel von Spring Android finden Sie unter hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top