Swagger: describir, producir, consumir y visualizar Servicios REST

(De nuevo gracias Luis :), este si que me ha convencido :P)

swagger es un framework (especificación e implementación) completo para describir, producir, consumir y visualizar Servicios REST.

El objetivo de Swagger es que la documentación del sistema se actualice conforme se actualice el Servicio, de modo que la documentación de los métodos, parámetros y modelo esté integrada en el código del Servicio permitiendo que las APIs estén siempre sincronizadas.

· Como Swagger es una especificación es independiente del lenguaje.

· Swagger ofrece implementaciones en Scala, Java y HTML5

· Swagger permite generar clientes Scala, Java, Javascript, Ruby, PHP y ActionScrip 3.

· Swagger soporta JSON y XML.

· Swagger UI framework permite a desarrolladores y usuarios interactuar con el API

Swagger se compone de varios módulos, entre ellos:

· Swagger UI es una aplicación HTML (+JS+CSS) que permiten generar documentación de un API Swagger.

Es en esencia una consola web completamente HTML que permite:

· listar operaciones:

· ejecutar operaciones

· Swagger Core define las anotaciones Java y la lógica requerida para generar un cliente o servidor Swagger. Incluye ejemplos en Java, Scala, con Play2 framework:

· Swagger node.js Servidor Swagger stand-alone escrito en Javascript con node.js

· Swagger Java Sample App Servidor Swagger stand-alone escrito en Java que demuestra como habilitar Swagger en tu API. El ejemplo se lanza directamente con:

> mvn package -Dlog4j.configuration=file:./conf/log4j.properties jetty:run

Abrimos Swagger UI local con esta url http://localhost:8002/api/resources.json

Si revisamos el código de la clase PetResource veo que Swagger ofrece anotaciones para documentar las operaciones (@ApiOperation), los errores (@ApiError) y los parámetros (@ApiParam)

Que en la consola web quedan:

Y cuando se produce error:

· Swagger CodeGen ofrece un motor de plantillas para generar código cliente en diferentes lenguajes parseando la declaración de recursos.

Por ejemplo en Javascript:

./bin/generate-js-lib.sh http://petstore.swagger.wordnik.com/api "" "" "generated-files"

Tablet de Microsoft: Microsoft Surface

La semana pasada se rumoreaba un anuncio por parte de Microsoft….pues bien…ahí está:

Microsoft Surface es la tablet de Microsoft. Corre sobre Windows 8 y ofrece 2 opciones:

· Modelo Windows Pro RT:

676g

9,33 mm de espesor

10.6 “HD Display de ClearType

31,5 Wh

microSD, USB 2.0, Micro Video HD

Office Home & Student 2013 RT, cubierta táctil

32 GB, 64 GB

· Modelo Windows 8 Pro es más potente y pesado:

903 g

13,5 mm de espesor

10.6 “Full HD de pantalla ClearType

42 Wh

microSDXC, USB 3.0, Mini DisplayPort de vídeo,

Cubierta táctil, Pluma con Palm Bloque

64 GB, 128 GB

Me ha gustado su cubierta protectora que desplegada actúa como teclado

y su pata incluida