Servidor de reposo Java 11
¿Por qué REST? REST adopta los preceptos de la web, incluyendo su arquitectura, beneficios y todo lo demás. Esto no es una sorpresa, ya que su autor, Roy Fielding, participó en probablemente una docena de especificaciones que rigen el funcionamiento de la web.
Todos estos son factores críticos en la construcción de servicios resistentes. Pero eso no es todo. La web está construida a partir de un montón de pequeñas especificaciones, por lo que ha sido capaz de evolucionar fácilmente, sin empantanarse en “guerras de estándares”.
Cambia el nombre a “Nómina” y luego elige “Generar proyecto”. Se descargará un archivo .zip. Descomprímalo. Dentro encontrarás un proyecto simple, basado en Maven, incluyendo un archivo de construcción pom.xml (NOTA: Puedes usar Gradle. Los ejemplos de este tutorial estarán basados en Maven).
Vamos a empezar con lo más simple que podemos construir. De hecho, para hacerlo lo más simple posible, podemos incluso dejar fuera los conceptos de REST. (Más adelante, añadiremos REST para entender la diferencia).
Si estás usando el Símbolo del sistema de Windows para emitir comandos cURL, lo más probable es que el siguiente comando no funcione correctamente. Debes escoger una terminal que soporte argumentos con comillas simples, o usar comillas dobles y luego escapar las que están dentro del JSON.
Cómo crear una api de descanso
Este tutorial te guía rápidamente sobre cómo construir un servicio web RESTful en netbeans. Si estás usando eclipse, hay otro post sobre cómo hacer lo mismo en eclipse. Este post no profundiza en los detalles ni discute los conceptos de los servicios web RESTful. Por favor, informen de cualquier error/errata. Espero que encuentres este post útil.
Este post asume que tienes netbeans instalado y Tomcat también. El objetivo de este post es crear un servicio web RESTful que pueda enviar una petición HTTP GET a un método con una respuesta de texto Hello World. (Ya sabes, Hello World es una aplicación que debe construirse en cada introducción ).
Vamos a empezar con GenericResource.java. Esta clase es una clase de recurso. Es decir, es una clase que presenta métodos que deben ser llamados. ¿Y cómo lo sé? Por la anotación Path. Si ves la anotación Path en cualquier parte de la clase (ya sea encima de la declaración de la clase o encima de la declaración de un método), eso significa que esa clase es una clase recurso. La anotación Path indica la ruta de la url a esa clase en particular. Por ahora, sólo recuerda que necesitas “generic” en la url que vas a usar para llamar a nuestro método hello world. Por supuesto, eres libre de cambiar el valor de la ruta, sólo tenlo en cuenta.
Servicio de descanso de Netbeans
Algunos marcos de trabajo Java, como Jersey (JAX-RS) y Restlet, están diseñados para servicios Restful. Sin embargo, el HttpServlet por sí mismo proporciona una API ligera, flexible, potente y bien probada para ofrecer este tipo de servicios. Lo demostraré con el ejemplo de novelas.
El despliegue del servicio web de novelas requiere un servidor web, por supuesto. Mi elección es Tomcat, pero el servicio debería funcionar (¡famosas últimas palabras!) si se aloja, por ejemplo, en Jetty o incluso en un servidor de aplicaciones Java. El código y un README que resume cómo instalar Tomcat están disponibles en mi sitio web. También hay un script Apache Ant documentado que construye el servicio de novelas (o cualquier otro servicio o sitio web) y lo despliega bajo Tomcat o su equivalente.
Como se ha señalado, el archivo ZIP en mi página web contiene un script Ant que compila y despliega un sitio web o servicio. (También se incluye una copia de novels.war en el archivo ZIP). Para el ejemplo de novels, un comando de muestra (con % como indicador de línea de comandos) es
% ant -Dwar.name=novelas deployEste comando compila los archivos fuente de Java y luego construye un archivo desplegable llamado novels.war, deja este archivo en el directorio actual y lo copia en TOMCAT_HOME/webapps. Si todo va bien, una petición GET (utilizando un navegador o una utilidad de línea de comandos, como curl) sirve como primera prueba:
Ejemplo de servicio web Restful en java
La Transferencia de Estado Representativa (REST) es un estilo arquitectónico para sistemas hipermedia distribuidos, como la World Wide Web. El concepto de recursos identificados por identificadores universales de recursos (URI) es fundamental en la arquitectura RESTful. Estos recursos pueden ser manipulados utilizando una interfaz estándar, como HTTP, y la información se intercambia utilizando representaciones de estos recursos. En este tutorial, primero se aprende un poco sobre REST y luego se muestra cómo NetBeans IDE soporta este estilo arquitectónico.
Los servicios web RESTful son servicios construidos utilizando el estilo arquitectónico RESTful. La construcción de servicios web utilizando el enfoque RESTful está emergiendo como una alternativa popular al uso de tecnologías basadas en SOAP para el despliegue de servicios en Internet, debido a su naturaleza ligera y la capacidad de transmitir datos directamente a través de HTTP.
Además de construir servicios web RESTful, el IDE también soporta la realización de pruebas, la construcción de aplicaciones cliente que acceden a los servicios web RESTful y la generación de código para invocar servicios web (tanto RESTful como basados en SOAP).