我想使用 swagger codegen 生成 sdk,它可以为我生成带有 Observable 作为回调的 sdk,如下所示:
@POST("oauth/token")
Observable <TokenResponse> getRepository(@Query("grant_type") String grantType);
我想使用 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 月,Swagger Codegen 的大约 50 位顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护一个名为OpenAPI Generator的社区驱动版本。请参阅问答以获取更多信息。
我会推荐Swagger Gradle Codegen,生成 Kotlin 代码和 Retrofit 接口,使用 RxJava2 进行异步调用,使用 Moshi 进行序列化,使用 ThreeTenABP 进行数据管理
对于 codegen,您可以将其用于 JSON 配置文件,与上述响应非常相似,但我必须使用 userRxJava2 而不是 useRxJava,如下所示::
{
"library": "retrofit2",
"artifactId": "swagger-petstore-retrofit2-rx",
"useRxJava2": true,
"hideGenerationTimestamp": true,
}