RX JAVA + 使用 Swagger codegen 生成 Retrofit sdk
RX JAVA + Retrofit sdk generation using Swagger codegen
我想使用 swagger codegen 生成 sdk,它可以给我生成的带有 Observable 作为回调的 sdk,如下所示:
@POST("oauth/token")
Observable < TokenResponse>
getRepository(@Query("grant_type") String grantType);
您可以使用以下命令生成启用 RxJava 的 Java Retrofit API 客户端:
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) 定义了以下内容:
{
"library": "retrofit2",
"artifactId": "swagger-petstore-retrofit2-rx",
"useRxJava": true,
"hideGenerationTimestamp": true
}
然后您可以在 /var/tmp/retrofit2rx
文件夹下找到自动生成的代码。
请改用最新稳定版的Swagger Codegen:https://github.com/swagger-api/swagger-codegen/releases,或拉取最新的swagger-codegen大师,享受增强功能和错误修复。
要获取用于自定义 Java API 客户端的选项列表,请运行 使用以下命令:
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l java
更新:2018 年 5 月,大约 50 名 Swagger Codegen 的顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护名为 OpenAPI Generator. Please refer to the Q&A 的社区驱动版本以获取更多信息。
我会推荐 Swagger Gradle Codegen,
生成 Kotlin 代码和 Retrofit 接口,RxJava2 用于异步调用,Moshi 用于序列化,ThreeTenABP 用于数据管理
对于 codegen,您可以将其用于 JSON 配置文件,与上面的响应非常相似,但我不得不使用 useRxJava2 而不是 useRxJava,如下所示::
{
"library": "retrofit2",
"artifactId": "swagger-petstore-retrofit2-rx",
"useRxJava2": true,
"hideGenerationTimestamp": true,
}
我想使用 swagger codegen 生成 sdk,它可以给我生成的带有 Observable 作为回调的 sdk,如下所示:
@POST("oauth/token")
Observable < TokenResponse> getRepository(@Query("grant_type") String grantType);
您可以使用以下命令生成启用 RxJava 的 Java Retrofit API 客户端:
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) 定义了以下内容:
{
"library": "retrofit2",
"artifactId": "swagger-petstore-retrofit2-rx",
"useRxJava": true,
"hideGenerationTimestamp": true
}
然后您可以在 /var/tmp/retrofit2rx
文件夹下找到自动生成的代码。
请改用最新稳定版的Swagger Codegen:https://github.com/swagger-api/swagger-codegen/releases,或拉取最新的swagger-codegen大师,享受增强功能和错误修复。
要获取用于自定义 Java API 客户端的选项列表,请运行 使用以下命令:
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l java
更新:2018 年 5 月,大约 50 名 Swagger Codegen 的顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护名为 OpenAPI Generator. Please refer to the Q&A 的社区驱动版本以获取更多信息。
我会推荐 Swagger Gradle Codegen, 生成 Kotlin 代码和 Retrofit 接口,RxJava2 用于异步调用,Moshi 用于序列化,ThreeTenABP 用于数据管理
对于 codegen,您可以将其用于 JSON 配置文件,与上面的响应非常相似,但我不得不使用 useRxJava2 而不是 useRxJava,如下所示::
{
"library": "retrofit2",
"artifactId": "swagger-petstore-retrofit2-rx",
"useRxJava2": true,
"hideGenerationTimestamp": true,
}