what ventajas tutorial specifically resource que for example enable ejemplo does apis rest jersey hateoas

rest - ventajas - Implementar HATEOAS con HAL en Jersey



ventajas de hateoas (3)

Uno de los puntos clave para construir una API RESTful es HATEOAS. Ahora, Jersey ofrece una capacidad de vinculación que es bastante buena (ver este enlace ). Pero he visto el borrador de la Especificación HAL y parece ser un trabajo bien pensado.

Me interesa si hay alguna libreta que facilite adherirse a HAL en Jersey. He visto las referencias mencionadas en el borrador como https://github.com/HalBuilder . Pero estoy usando la ordenación directa de POJO y no sé cómo mezclar eso con Halbuilder.

Entonces, ¿ya hay alguna lib que incorpora HAL en Jersey? ¿O tal vez puedo usar algún tipo de filtro para mejorar los POJO generados manualmente? Si es así, ¿puede alguien darme una pista de dónde buscar para lograr esto?


Es muy poco lo que se requiere para adherirse a HAL. Le sugiero que coloque su propia mini biblioteca en la que envuelva sus POJO en objetos HAL. De esta manera, obtienes el código como te gusta y será mucho más simple que HalBuilder.


Incluso si esto no es realmente una respuesta, no tuve suficientes caracteres para ponerlo en un comentario :)

Si realmente eres nuevo en REST, creo que probablemente comiences de la manera incorrecta. No sé exactamente cuáles son sus requisitos, pero si solo desea aprender, comience con un servicio REST fácil, use la API web desde .net o algo similar en Java (un simple servlet sería suficiente) e intente implementar un servicio que solo utiliza las herramientas entregadas por http (los verbos, el encabezado de solicitud y la carga útil, el mensaje de respuesta). El libro de reglas de diseño REST API de Marc Massé podría ser una buena referencia para aprender. Cree su propio protocolo de comunicación con POJOs o POCOs y una vez que realmente haga lo que pueda hacer REST y cómo funciona, puede usar un marco para facilitar su trabajo.

Si comienzas con un framework puedes perderte la esencia del concepto ...

¡Espero que ayude!


No puedo encontrar ningún soporte directo para esto en Jersey, pero debería haber formas de personalizar el indicador que usa Jersey para convertir tus POJO''s a JSON. (ya sea utilizando HalBuilder o cree un código propio compatible con HAL)

Si utiliza el soporte JSON basado en Jerseys JAXB , eche un vistazo a BootstrapTypeConverterTest en el código fuente de Jettison que demuestra cómo se puede usar un convertidor para personalizar la salida JSON. Las conversiones de unidades de prueba a / desde JSON deben ser una tarea simple y jettison-project tiene buenos ejemplos a la vista.

Si usa el método de "Soporte de POJO" de Jerseys, eche un vistazo a JacksonHowToCustomSerializers para ver un ejemplo similar sobre cómo crear sus serializadores personalizados.

(Si está involucrado JAXB, también puede hacer cosas geniales como procesar anotaciones personalizadas ).

Probablemente tenga una idea bastante clara de cómo se ven sus objetos (entrada) y qué código JSON (salida) espera, por lo que crear pruebas unitarias para estas conversiones debería ser una tarea relativamente simple.