2016-12-08 5 views
1

Je veux générer sdk en utilisant codegen Swagger qui peut me donner généré sdk avec Observable comme rappel comme ci-dessous:RX JAVA + Retrofit génération sdk utilisant Swagger Codegen

@POST ("oauth/jeton")
Observable < TokenResponse> getRepository (@Query ("grant_type") Chaîne grantType);

+0

un coup d'oeil d'ici https://github.com/saveendhiman/SampleApp/blob/ master/app/src/main/java/com/sampleapp/api/RestService.java – Saveen

+0

Et la question est ... – Selvin

+0

@Saveen Merci, mais je suppose que vous n'avez pas eu ma question.Je veux créer un sdk en utilisant Swagger codegen qui crée une interface comme ci-dessus pour tous les appels api effectués .. Je veux savoir sur la commande en fait qui pour Java est: java -jar swagger-codegen-cli-2.1.4.jar générer -i http: // localhost: 8080/v2/api-docs -l java -o retrofit/-c config.json – rcde0

Répondre

5

Vous pouvez générer un client API Java Retrofit avec RxJava activé à l'aide de la commande suivante comme exemple:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \ 
-l java -i http://petstore.swagger.io/v2/swagger.json \ 
-c /var/tmp/retrofit2rx/java-petstore-retrofit2rx.json \ 
-o /var/tmp/retrofit2rx 

et le fichier config JSON (/ var/tmp/retrofit2rx/java-petstore-retrofit2rx .json) définit les éléments suivants:

{ 
    "library": "retrofit2", 
    "artifactId": "swagger-petstore-retrofit2-rx", 
    "useRxJava": true, 
    "hideGenerationTimestamp": true 
} 

Vous pouvez trouver le code généré automatiquement dans le dossier /var/tmp/retrofit2rx.

Veuillez utiliser la dernière version stable de Swagger Codegen à la place: https://github.com/swagger-api/swagger-codegen/releases, ou tirez le dernier master de swagger-codegen pour profiter des améliorations et corrections de bugs.

Pour obtenir une liste d'options pour la personnalisation du client Java API, s'il vous plaît exécutez la commande suivante:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l java

+0

Merci beaucoup pour la réponse.J'ai essayé tout à l'heure et cela a fonctionné. – rcde0