如何为默认 swagger android 客户端设置连接和套接字超时

How to set connection and socket timeout for default swagger android client

我正在使用 android api 默认生成的 Swagger 代码生成器(在 Swagger 编辑器中)。问题是没有任何选项,如何设置连接超时和套接字超时。

有没有什么优雅的方法可以在不更改生成的代码的情况下设置超时?或者我是否必须实现自己的计时器,这将终止服务器调用?

感谢任何建议!

我认为默认的 Android API 客户端没有任何辅助方法来设置连接超时。

我建议您改用 Java 的 okhttp-gson HTTP 库(与 Android 兼容)。这是使用 okhttp-gson 库生成 Java 客户端的命令:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i modules/swagger-codegen/src/test/resources/2_0/petstore.json \
-l java \
-o /var/tmp/java-okhttp-gson/ \
-D library=okhttp-gson

并且它允许通过 ApiClient

中的 setConnectTimeout 方法设置 HTTP 连接超时

OkHttp 的默认连接超时为 10 秒。可以通过设置为Apiclient来修改。

apiClient.setConnectTimeout(20_000);