Canigó. Jocs de proves API REST


14-02-2018
Darrera actualització: 14-02-2018

Existeixen diferents estàndards per la definició del contracte d’una API REST. Els més populars són WADL i Swagger (OpenAPI Specification). Swagger és un framework molt útil, no només per a descriure una API REST sinó també per produir, consumir i poder visualitzar-la.

Des de Canigó 3.2 es dóna suport a APIs REST gràcies a Spring 4 i el seu MVC (Model-View-Controller), i Springfox. Springfox és una implementació de l’especificació Swagger2.

Swagger proporciona una UI (User Interface) amb un format “human-readable” de les APIs REST. L’aspecte que té en una aplicació Canigó 3.2 és la següent:

<base-url>/canigo-api.html

canigo-api

Gràcies a aquesta UI els desenvolupadors poden conèixer i provar les APIs.

A més d’aquesta UI, és possible obtenir l’especificació de l’API en format JSON.

<base-url>/api/v2/api-docs

swagger-json

Aquesta definició de l’API en format JSON ens permet generar jocs de proves per la validació del seu funcionament.

SOAP UI és una eina molt popular per la realització de tests tant REST com SOAP, i és a partir de la versió 5.2.1+ que dona suport a la importació de definicions Swagger.

En aquest comunicat podeu trobar un How-To amb el detall per la generació d’aquests jocs de proves SOAP UI a partir de l’especificació Swagger.

Amb el joc de proves generat, és possible l’automatització de la seva execució mitjançant la utilitat TestRunner que incorpora SOAP UI. Això pot permetre, en entorns d’integració continua dels proveïdors d’aplicacions, automatitzar aquestes proves en pipelines de Jenkins. D’aquesta manera, canvis continus en el codi de les APIS poder ser validats de forma ràpida abans d’alliberar una versió estable de l’aplicació al SIC.