uso titledborder seticon icon con borde java rest

seticon - titledborder java



¿Algún tutorial REST fácil para Java? (8)

¿Podría describir con precisión qué le causó problemas en nuestros tutoriales de Restlet? Estamos interesados ​​en arreglar / mejorar lo que se necesita.

¿Revisaste los screencasts? http://www.restlet.org/documentation/1.1/screencast/

De lo contrario, hay un tutorial de Restlet en el libro de O''Reilly que escribimos en su Capítulo 12.

Si aún tiene problemas, contáctese con nuestra lista de correo: http://www.restlet.org/community/lists

Un saludo, Jérôme Louvel

Restlet ~ Fundador y desarrollador principal ~ http://www.restlet.org Noelios Technologies ~ Cofundador ~ http://www.noelios.com

Cada tutorial o explicación de REST simplemente se complica demasiado rápido: la curva de aprendizaje aumenta tan rápido después de la explicación inicial de CRUD y la supuesta simplicidad sobre SOAP. ¿Por qué la gente no puede escribir tutoriales decentes nunca más?

Estoy mirando a Restlet, y no es lo mejor, hay cosas que faltan en el tutorial y el lenguaje / gramática es un poco confuso y poco claro. Me ha llevado horas desenredar su tutorial de Primeros Pasos (¡con la ayuda de otro programador de Java!)

RESTlet Tutorial Comentarios

En general, no estoy seguro de a quién iba dirigido el tutorial, porque hay un cierto grado de conocimiento asumido en general, por lo que entrar en REST y en el marco de trabajo de Restlet te deja con un montón de "trabajo de recuperación", y leyendo párrafos una y otra vez.

  1. Tuvimos dificultades para resolver que los frascos tenían que estar copiados en la carpeta correcta de lib.

  2. Problemas con web.xml al crear un error HTTP Status 500 -

El servidor encontró un error interno () que le impedía cumplir con esta solicitud

, el tutorial dice:

"Cree una nueva aplicación web Servlet como de costumbre, agregue un paquete" com.firstStepsServlet "y coloque las clases de recursos y aplicaciones en".

Esto significa que su nombre completo para su clase FirstStepsApplication es com.firstStepsServlet.FirstStepsApplication , por lo que tuvimos que modificar web.xml para referirnos a la clase correcta, por ejemplo:

original:

<param-value> firstStepsServlet.FirstStepsApplication </param-value>

debiera ser:

<param-value> com.firstStepsServlet.FirstStepsApplication </param-value>

Conclusión

Tenía la impresión de que se suponía que los conceptos de REST eran mucho más simples que SOAP, pero parece igual de malo, si no más complicado, ¡no lo entiendo en absoluto! grrrr

Cualquier buen enlace, muy apreciado.


Además, el nombre calificado sugerido en el tutorial es "firstStepsServlet.FirstStepsApplication" y no "com.firstStepsServlet.FirstStepsApplication".

Por lo tanto, el valor de parámetro sugerido en web.xml es correcto.

¿Podría confirmar que esto soluciona su problema? Además, ¿tenía conocimientos de implementación de Servlet antes de leer el tutorial? Si no, eso explicaría el dolor. En este caso, el modo independiente es probablemente un mejor ajuste.



Parece que podría utilizar un conocimiento sólido de los fundamentos de REST, y para eso recomiendo los servicios web RESTful por Leonard Richardson y Sam Ruby. Proporciono una gran introducción a REST: qué es y cómo implementar un servicio web RESTful (práctico).

La mayoría del código de ejemplo en el libro es en realidad Ruby, pero es bastante fácil de entender incluso si no eres un experto en Ruby. Pero una cosa que debería ayudarlo específicamente es que uno de los últimos capítulos del libro contiene resúmenes de varios marcos RESTful, incluido Restlet. Realmente no entra en ningún código (es un paso elevado de 50,000 pies) pero creo que le dará justo lo que necesita en esta etapa.


La compañía eSoftHead acaba de lanzar un breve tutorial sobre el desarrollo de la aplicación Restful utilizando RESTeasy.



El marco de Restlet se compone de cuatro partes principales.

1. Restlet API

En primer lugar, está la "API de Restlet", una API neutral que respalda los conceptos de REST y facilita el manejo de llamadas para aplicaciones del lado del cliente y del lado del servidor. Esta API está respaldada por Restlet Engine y ahora ambas se envían en un único JAR (" org.restlet.jar ").

Esta separación entre la API y la implementación es similar a la que existe entre la API del servlet y los contenedores web como Jetty o Tomcat, o entre la API JDBC y los controladores JDBC concretos.

2. Recuperar el contenido de una página web

Como mencionamos en el documento de introducción, el marco de Restlet es al mismo tiempo un marco de cliente y servidor. Por ejemplo, Restlet puede trabajar fácilmente con recursos remotos utilizando su conector de cliente HTTP. Un conector en REST es un elemento de software que permite la comunicación entre componentes, por lo general implementando un lado de un protocolo de red. Restlet proporciona varias implementaciones de conectores de clientes basados ​​en proyectos de código abierto existentes. La sección de conectores enumera todos los conectores de cliente y servidor disponibles y explica cómo usarlos y configurarlos.

Aquí obtendremos la representación de un recurso existente y lo enviaremos a la consola de JVM:

// Outputting the content of a Web page new ClientResource("http://").get().write(System.out);

Tenga en cuenta que el ejemplo anterior utiliza una forma simplificada de emitir llamadas a través de la clase ClientResource . Si necesita multi-threading o más control, aún es posible manipular el uso de la clase de conector de cliente o los objetos Request directamente. El siguiente ejemplo muestra cómo establecer algunas preferencias en su llamada de cliente, como un URI de referencia. También podrían ser los idiomas y tipos de medios que prefiera recibir como respuesta:

// Create the client resource ClientResource resource = new ClientResource("http://www.restlet.org"); // Customize the referrer property resource.setReferrerRef("http://www.mysite.org"); // Write the response entity on the console resource.get().write(System.out);

3. Escuchar navegadores web

Ahora, queremos ver cómo el marco de Restlet puede escuchar las solicitudes de los clientes y responderlas. Utilizaremos el conector interno del servidor Restlet HTTP (aunque es posible cambiar a otros como el basado en Mortbay''s Jetty) y devolveremos una simple cadena de texto "hello, world" como texto sin formato. Tenga en cuenta que la clase Part03 amplía la clase ServerResource base proporcionada por Restlet:

public class Part03 extends ServerResource { public static void main(String[] args) throws Exception { // Create the HTTP server and listen on port 8182 new Server(Protocol.HTTP, 8182, Part03.class).start(); } @Get public String toString() { return "hello, world"; } }

Si ejecuta este código e inicia su servidor, puede abrir un navegador web y presionar el. En realidad, cualquier URI funcionará, inténtalo también. Tenga en cuenta que si prueba su servidor desde una máquina diferente, debe reemplazar "localhost" por la dirección IP de su servidor o su nombre de dominio si tiene uno definido.

Hasta ahora, en su mayoría, le mostramos el nivel más alto de abstracción en la API de Restlet, con las clases ClientResource y ServerResource. Pero a medida que avanzamos, descubrirá que esas dos clases son compatibles con una API enriquecida, lo que le permite manipular todos los artefactos REST.

4. Descripción general de una arquitectura REST

Retrocedamos un poco y consideremos arquitecturas web típicas desde un punto de vista REST. En el siguiente diagrama, los puertos representan el conector que permite la comunicación entre los componentes que están representados por los cuadros más grandes.


señala un error dentro del web.xml, pero acabo de verificar tanto la documentación de Restlet 1.0 como la de 1.1, y no veo este tipo de error. Me gustaría mencionar que puedes encontrar al final de la página un zip que contiene un archivo war completo y la lista de archivos fuente en caso de que quieras ejecutar en modo "independiente". ¿Has probado el modo independiente? Como se explica en el tutorial, solo necesita 2 jarras en el classpath y los archivos fuente.

También nos gustaría señalar que el tutorial "firstSteps" no es un tutorial sobre REST, sino sobre la programación con Restlet. También puede consultar el tutorial "firstResource" ( http://www.restlet.org/documentation/1.1/firstResource ) que describe cómo desarrollar un recurso simple y qué introduce algunos conceptos del estilo de arquitectura REST. Debería ayudarte.