【发布时间】:2016-05-10 00:53:31
【问题描述】:
我正在使用默认 Swagger codegen(在 Swagger 编辑器中)生成的 android api。问题是没有任何选项,如何设置连接超时和套接字超时。
是否有任何优雅的方法来设置超时而不更改生成的代码?还是我必须实现自己的计时器,这将终止服务器调用?
感谢您的建议!
【问题讨论】:
标签: android timeout swagger apache-commons-httpclient swagger-2.0
我正在使用默认 Swagger codegen(在 Swagger 编辑器中)生成的 android api。问题是没有任何选项,如何设置连接超时和套接字超时。
是否有任何优雅的方法来设置超时而不更改生成的代码?还是我必须实现自己的计时器,这将终止服务器调用?
感谢您的建议!
【问题讨论】:
标签: android timeout swagger apache-commons-httpclient swagger-2.0
OkHttp 的默认连接超时为 10 秒。可以通过设置为Apiclient来修改。
apiClient.setConnectTimeout(20_000);
【讨论】:
我认为默认的 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连接超时
【讨论】: