使用 Swagger codegen 生成 RX JAVA + Retrofit sdkRX、codegen、Swagger、sdk

2023-09-07 14:02:48 作者:庸人自扰

我想使用 swagger codegen 生成 sdk,它可以为我生成带有 Observable 作为回调的 sdk,如下所示:

I want to generate sdk using swagger codegen which can give me generated sdk with Observable as callback like below :

@POST("oauth/令牌")可观察的令牌响应>getRepository(@Query("grant_type") String grantType);

@POST("oauth/token") Observable < TokenResponse> getRepository(@Query("grant_type") String grantType);

推荐答案

您可以使用以下命令作为示例生成启用 RxJava 的 Java Retrofit API 客户端:

You can generate a Java Retrofit API client with RxJava enabled using the following command as an example:

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 

JSON 配置文件 (/var/tmp/retrofit2rx/java-petstore-retrofit2rx.json) 定义如下:

and the JSON config file (/var/tmp/retrofit2rx/java-petstore-retrofit2rx.json) defines the following:

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

然后您可以在 /var/tmp/retrofit2rx 文件夹下找到自动生成的代码.

You can then find the auto-generated code under the /var/tmp/retrofit2rx folder.

请改用 Swagger Codegen 的最新稳定版本:https://github.com/swagger-api/swagger-codegen/releases,或者拉取最新的 swagger-codegen 大师,享受增强和错误修复.

Please use the latest stable version of Swagger Codegen instead: https://github.com/swagger-api/swagger-codegen/releases, or pull the latest master of swagger-codegen to enjoy the enhancements and bug fixes.

要获取自定义 Java API 客户端的选项列表,请运行以下命令:

To get a list of options for customizing the Java API client, please run the following command:

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

更新:2018 年 5 月,Swagger Codegen 的大约 50 位顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护一个名为 OpenAPI 生成器.请参阅问答了解更多信息.

UPDATE: On May 2018, about 50 top contributors and template creators of Swagger Codegen decided to fork Swagger Codegen to maintain a community-driven version called OpenAPI Generator. Please refer to the Q&A for more information.