marcos más fácil de implementar servicios web Java REST [cerrada]
-
18-09-2019 - |
Pregunta
¿Cuáles son los mejores marcos para la aplicación de cliente y servidor marcos descansar en Java? He estado luchando un poco para encontrar una solución fácil de usar.
Actualizar : Tanto Jersey y Restlet parecen buenas opciones. Probablemente vamos a utilizar Restlet pero vamos a experimentar con ambos.
Solución
Restlet suena como tiene que ofrecer lo que estás buscando:
- Soporte para el cliente y el servidor (en una API relativamente simétrica)
- Smart vinculante url
- tipo mime entendimiento (tipos MIME aceptados dadas, se le pedirán sus recursos para su representación en ese tipo)
- Compatible con anotaciones JAX-RS (al igual Jersey)
Otros consejos
Jersey es muy fácil para ambos. Para escribir servicios web, utiliza anotaciones:
@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";
}
}
Para un cliente:
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
Tome un vistazo a dropwizard también.
Restlet también admite anotaciones en su versión 2.0, tanto en el cliente y el servidor. El API JAX-RS también se admite como una extensión.
Este es un ejemplo simple para el lado del servidor:
public class HelloWorldResource extends ServerResource {
@Get
public String represent() {
return "hello, world";
}
}
En el lado del cliente:
// Outputting the content of a Web page
new ClientResource("http://www.restlet.org").get().write(System.out);
Para obtener más documentación, revisar esta página .
Hay nueva RESTEasy biblioteca. Parece estar bajo rápido desarrollo desde su lanzamiento inicial. No tengo ni idea de si es bueno; está en mi lista de 'comprobar que funciona'.
Se puede echar un vistazo a la ejecución de JAX-RS CXF. Para una lista completa de sus características comprobar el href="http://cxf.apache.org/docs/jax-rs.html" rel="nofollow"> sitio web . La comunidad detrás del proyecto parece ser muy activo (julio de 2013). Una indicación de que es el número de mensajes por día en el CXF listas de correo .
No he utilizado personalmente pero algunos equipos con los que trabajo están utilizando Spring 3 MVC. REST en la primavera de 3: @MVC que parece una visión general buena entrada en el blog. Las características incluyen REST URI "Plantillas", "Negociación de contenido", "HTTP Método de conversión", "apoyo ETag" y más.
Editar : También, vea esta pregunta: ¿alguien puede recomendar un marco web de Java que se basa en MVC y apoya rESTO?
Puedo recomendar Apache guiño, un nuevo marco todavía en el modo de incubación, pero la calidad muy maduro y alto.
http://incubator.apache.org/wink/
Se implementa la especificación JAX-RS, que tiene tanto marco de cliente y servidor para el desarrollo REST. Apache está de pie detrás de este proyecto - que es siempre una buena señal (y una buena :-) licencia)
Lo que más me gusta de este marco es la integración intuitiva con la primavera, que es muy útil si desea que su marco de trabajo para configurar y ampliar fácilmente.
ACTUALIZACIÓN: Xydra inquietas no se mantiene ya +++ Si su están utilizando Goolge AppEngine antes de liberar una característica de "reserva instancia", podría considerar Xydra Restless que tiene algunas características, pero las cargas rápido.