pom.xml
<!--添加openfein的依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.1.3.RELEASE</version> </dependency>
<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-okhttp</artifactId> <version>11.0</version> </dependency>
如果多模块的项目,可以在启动模块中加入上边两个类,在需要用feign调用的模块中加入spring-cloud-starter-openfeign的jar即可;
启动类中增加
@EnableFeignClients
FeignConfig:
@EnableFeignClients("com.kx.whpcomp.**.feign") // 扫描feign接口所在包 重要 @Configuration @ConditionalOnClass(Feign.class) @AutoConfigureBefore(FeignAutoConfiguration.class) public class FeignConfig { @Bean public OkHttpClient okHttpClient(){ return new OkHttpClient.Builder() .readTimeout(60, TimeUnit.SECONDS) .connectTimeout(60, TimeUnit.SECONDS) .writeTimeout(120, TimeUnit.SECONDS) .connectionPool(new ConnectionPool()) .build(); } @Bean public Feign.Builder feignBuilder() { return HystrixFeign.builder(); } @Bean public Contract feignContract() { return new SpringMvcContract(); } @Bean public Logger.Level feignLoggerLevel() { return Logger.Level.BASIC; } @Bean public Request.Options feignRequestOptions() { return new Request.Options(10, TimeUnit.SECONDS, 60,TimeUnit.SECONDS,true); } @Bean public Retryer feignRetry() { return new Retryer.Default(); } }
java代码
/** * 定义用户client接口 */ @FeignClient( name = "user-server", url = "http://localhost:8760/user/" // , // configuration = FeignLogConfiguration.class ) public interface UserClient { /** * 查询用户 */ @PostMapping(path = "/getUser") String userInfo(); }
看完文章,还不会用的可以评论留言;