Openfeign

Openfeign怎么设置接口超时时间

小亿
543
2024-02-21 16:46:26
栏目: 编程语言

在使用OpenFeign调用接口时,可以通过Feign的配置来设置接口超时时间。可以通过以下步骤设置接口超时时间:

  1. 创建一个Feign客户端配置类,继承自FeignClientSpecification类,并重写apply方法来设置超时时间。
import feign.Client;
import feign.Client.Default;
import feign.Client.Default.DefaultClientConfig;
import feign.Feign;
import feign.Request;
import feign.Request.Options;
import feign.RequestTemplate;
import feign.codec.Decoder;

public class MyFeignClientConfiguration extends DefaultClientConfig {

    @Override
    public Client apply(Client client) {
        return new Client() {
            private final Client delegate = client;

            @Override
            public Response execute(Request request, Options options) throws IOException {
                // 设置超时时间为10秒
                options = options.toBuilder().connectTimeout(10000)
                        .readTimeout(10000).build();
                return delegate.execute(request, options);
            }
        };
    }
}
  1. 在Feign接口上添加@FeignClient注解,并指定configuration属性为上一步创建的Feign客户端配置类。
@FeignClient(name = "my-service", configuration = MyFeignClientConfiguration.class)
public interface MyFeignClient {

    @GetMapping("/api/someEndpoint")
    String callSomeEndpoint();
}

通过以上步骤,就可以在OpenFeign中设置接口超时时间。

0
看了该问题的人还看了