溫馨提示×

Openfeign怎么設置接口超時時間

小億
671
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女