Génération de code client
Génération de code client
A l’aide de Swagger Codegen, il est possible de générer des SDK client pour l’API YellowBox.
Actuellement, les langages/frameworks suivants sont supportés :
- API clients: ActionScript, Ada, Apex, Bash, C# (.net 2.0, 3.5 or later), C++ (cpprest, Qt5, Tizen), Clojure, Dart, Elixir, Elm, Eiffel, Erlang, Go, Groovy, Haskell (http-client, Servant), Java (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured), Kotlin, Lua, Node.js (ES5, ES6, AngularJS with Google Closure Compiler annotations) Objective-C, Perl, PHP, PowerShell, Python, R, Ruby, Rust (rust, rust-server), Scala (akka, http4s, swagger-async-httpclient), Swift (2.x, 3.x, 4.x), Typescript (Angular1.x, Angular2.x, Fetch, jQuery, Node)
Génération via le jar
Prérequis : Avoir Java (Java 7 minimum) installé sur sa machine et avoir la variable d’environnement JAVA_HOME paramétrée.
Pour récupérer le jar du CLI, plusieurs possibilités en fonction de l’OS :
Pour les utilisateur Windows, il faut soit installer wget et taper la commande suivante :
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.x.x/swagger-codegen-cli-2.x.x.jar -O swagger-codegen-cli.jar
où 2.x.x est la dernière version disponible (Voir ici).
Ou bien utiliser Invoke-WebRequest
dans PowerShell (3.0+) et taper la commande Invoke-WebRequest -OutFile swagger-codegen-cli.jar http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.x.x/swagger-codegen-cli-2.x.x.jar
.
Ou bien récupérer directement le jar sur le site MVN Repository
Pour les utilisateur OS X, la récupération du jar peut se faire à l’aide de brew
:
brew install swagger-codegen
Pour les utilisateurs sous Linux, la récupération du jar peut se faire avec wget
:
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.x.x/swagger-codegen-cli-2.x.x.jar -O swagger-codegen-cli.jar
Une fois le jar récupéré, il faut se rendre dans le dossier de ce dernier et taper la commande suivante :
java -jar swagger-codegen-cli.jar generate -i https://<yellowbox_url>/ws/swagger.json -l <language> -o <outputDir>
<language>
correspond au langage client souhaité.<outputDir>
correspond au dossier où l’on souhaite généré le SDK.
Si le CLI ne parvient pas à accéder au swagger.json de YellowBox, il est possible de le télécharger directement depuis le navigateur, de le placer dans le dossier du jar puis de passer le chemin vers le fichier json au lieu de l’URL.
Génération via Docker
Il est également possible de générer le SDK via Docker. Pour ce faire, il faut lancer la commande suivante :
docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate -i https://<yellowbox_url>/ws/swagger.json -l <language> -o /local/<outputDir>
Pour les utilisateur de Docker sous Windows, il faut remplacer ${PWD}
par %CD%
.
Le code sera généré dans le répertoire ./<outputDir>
.
Génération via l’API Swagger Generator
Il existe une autre façon de générer le SDK depuis une API mise à disposition par Swagger. Pour ce faire, il faut appeler le service suivant, par exemple avec la commande curl
:
curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"https://<yellowbox_url>/ws/swagger.json"}' https://generator.swagger.io/api/gen/clients/{language}
Le serveur retourne alors une réponse JSON qui contient un lien pour télécharger le code client sous forme de zip. Il ne reste plus qu’à y accéder depuis un navigateur internet pour lancer le téléchargement.