说明
使用spring cloud的Feign为http请求助力,http请求轻松用
实现
POM依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.0.0.M1</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>9.5.1</version>
</dependency>
HTTP连接池配置
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
public class FeignOkHttpConfig {
@Bean
public okhttp3.OkHttpClient okHttpClient(){
return new okhttp3.OkHttpClient.Builder()
.readTimeout(5, TimeUnit.SECONDS)
.connectTimeout(5, TimeUnit.SECONDS)
.writeTimeout(5, TimeUnit.SECONDS)
.connectionPool(new ConnectionPool())
.build();
}
配置文件增加如下配置
user:
server:
url: http://***********.com
feign:
hystrix:
enabled: true
httpclient:
enabled: false
okhttp:
enabled: true
示例
value为注入的名称
@FeignClient(value = "userFeignClient",url = "${user.server.url}")
public interface UserFeignClient {
@GetMapping("/userServer/internal/userBase")
BaseResponse<UserDTO> userBase(@RequestParam(value="uid") String uid);
}