quadri più semplice da implementare servizi web REST Java [chiusa]
-
18-09-2019 - |
Domanda
Quali sono le migliori strutture per l'attuazione sia client che server framework REST in Java? Ho lottato un po 'per trovare una soluzione facile da usare.
Aggiorna : Sia Jersey e Restlet sembrano buone opzioni. Noi probabilmente usiamo Restlet ma noi sperimentiamo sia.
Soluzione
Restlet suona come dovrebbe fornire quello che stai cercando:
- Il supporto per client e server (in un api relativamente simmetrica)
- Smart vincolante url
- tipo mime intesa (determinati tipi MIME accettati, chiederà le risorse per la loro rappresentazione in quel tipo)
- Supporta JAX-RS annotazioni (come Jersey)
Altri suggerimenti
Jersey è davvero facile per entrambi. Per scrivere i servizi web, è possibile utilizzare le annotazioni:
@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";
}
}
Per un client:
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
Date un'occhiata a dropwizard troppo.
Restlet anche il supporto di annotazioni nella sua versione 2.0, sia sul client e lato server. L'API JAX-RS è supportato anche come estensione.
Ecco un semplice esempio per lato server:
public class HelloWorldResource extends ServerResource {
@Get
public String represent() {
return "hello, world";
}
}
Sul lato client:
// Outputting the content of a Web page
new ClientResource("http://www.restlet.org").get().write(System.out);
La documentazione, controllare questa pagina .
C'è JBoss' nuova RESTEasy biblioteca. Sembra essere in rapido sviluppo dal suo lancio iniziale. Non ho idea se si tratta di un bene; è sulla mia 'controllarlo fuori' elenco.
Si potrebbe dare un'occhiata al l'attuazione JAX-RS CXF. Per l'elenco completo delle sue caratteristiche controllare la href="http://cxf.apache.org/docs/jax-rs.html" rel="nofollow"> sito web CXF . La comunità alla base del progetto sembra essere molto attivo (luglio 2013). Un'indicazione di questo è il numero di messaggi al giorno nel CXF mailing list .
Non ho usato personalmente, ma alcuni team con cui lavoro stanno utilizzando Spring 3 MVC. riposo in Spring 3: @MVC si presenta come una buona panoramica post sul blog. Le caratteristiche includono RESTful "Modelli URI", "Negoziazione Content", "HTTP metodo di conversione", "sostegno ETag" e altro ancora.
Modifica : Inoltre, si veda questa domanda: qualcuno può raccomandare un framework web Java che si basa su MVC e supporta REST?
posso consigliare Apache occhiolino, un nuovo quadro ancora in modalità di incubazione, ma di qualità molto maturo e alto.
http://incubator.apache.org/wink/
Si implementa le specifiche JAX-RS, che ha sia framework client e server per lo sviluppo REST. Apache è in piedi dietro a questo progetto - che è sempre un buon segno (e una buona licenza :-))
Quello che mi piace di più di questo quadro è l'integrazione intuitiva con la Primavera, è molto utile se si desidera che il quadro di riferimento per essere configurato ed esteso con facilità.
UPDATE: Xydra Restless non è più mantenuto +++ Se usate Goolge AppEngine prima di rilasciare una caratteristica "riserva esempio", si potrebbe considerare Xydra Restless che ha alcune caratteristiche, ma carichi veloce.