Frameworks más fáciles de implementar servicios web REST de Java [cerrado]
¿Cuáles son los mejores frameworks para implementar frameworks REST de cliente y servidor en Java? He estado luchando un poco para encontrar una solución fácil de usar.
Actualización: Tanto Jersey como Restlet parecen buenas opciones. Probablemente usaremos Restlet pero experimentaremos con ambos.
10 answers
Restlet suena como que debería proporcionar lo que estás buscando:
- Soporte para cliente y servidor (en una api relativamente simétrica)
- Enlace de url inteligente
- comprensión del tipo mime (dados los tipos mime aceptados, pedirá a sus recursos su representación en ese tipo)
- Soporta anotaciones JAX-RS (al igual que Jersey)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-05 23:58:39
Jersey es realmente 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-30 03:58:56
Echa un vistazo a dropwizard también.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-25 19:55:44
Restlet también soporta anotaciones en su versión 2.0, tanto en el lado cliente como en el servidor. La API de JAX-RS también es compatible como una extensión.
Aquí hay 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 más documentación, consulte esta página.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-30 08:04:08
Está la nueva biblioteca de JBoss RESTEasy. Parece estar en rápido desarrollo desde su lanzamiento inicial. No tengo ni idea de si es bueno; está en mi lista de 'echa un vistazo'.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-30 12:20:36
Podría echar un vistazo a la implementación de CXF JAX-RS. Para obtener una lista completa de sus características, consulte el sitio web de CXF para JAX-RS. La comunidad detrás del proyecto parece ser muy activa (julio de 2013). Una indicación de esto es el número de mensajes por día en las listas de correo CXF .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-29 18:17:04
No lo he usado personalmente, pero algunos equipos con los que trabajo están usando Spring 3 MVC. DESCANSO en la primavera 3: @MVC parece un buen resumen de la publicación de blog. Las características RESTful incluyen "Plantillas URI", "Negociación de contenido", "Conversión de método HTTP", "Soporte ETag" y más.
Edit : También, vea esta pregunta: ¿Puede alguien recomendar un framework web Java que se base en MVC y soporte REST ?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:01:26
Puedo recomendar Apache wink, un nuevo framework todavía en modo de incubación, pero muy maduro y de alta calidad.
Http://incubator.apache.org/wink /
Implementa la especificación JAX-RS, tiene un framework cliente y servidor para el desarrollo REST. Apache está detrás de este proyecto-eso siempre es una buena señal (y una buena licencia: -))
Lo que más me gusta de este framework es la integración intuitiva con Spring, es muy útil si quieres tu marco para ser fácilmente configurado y ampliado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-08 17:50:41
ACTUALIZACIÓN: Xydra Restless ya no se mantiene +++ Si está utilizando Goolge AppEngine antes de que publiquen una función de "reserva de instancia", podría considerar Xydra Restless que tiene pocas características pero se carga rápidamente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-22 17:03:24
Mi favorito es Spring MVC, tienes soporte para ambos, cliente y servidor... Y también tiene soporte para Android =)
Por ejemplo, puedes ver un ejemplo de Spring Android aquí
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-23 15:04:59