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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为默认的swagger android客户端设置连接和套接字超时相关的知识,希望对你有一定的参考价值。

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

是否有任何优雅的方法来设置超时而不改变生成的代码?或者我是否必须实现自己的计时器,这将终止服务器调用?

谢谢你的建议!

答案

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

我建议您使用okhttp-gson HTTP库代替Java(与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

它允许通过setConnectTimeout中的ApiClient方法设置HTTP连接超时

另一答案

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

apiClient.setConnectTimeout(20_000);

以上是关于如何为默认的swagger android客户端设置连接和套接字超时的主要内容,如果未能解决你的问题,请参考以下文章

参数的 Swagger 默认值

如何为 swagger 2.8.0 做友好的基本 url

如何为 ApiModelProperty 在 swagger 上设置 POJO 数据

NestJs Swagger:如何为动态类定义 Api 属性

Android:如何为参数变量设置默认值

如何为android中的APP设置默认权限值?