nacos + feign
导入依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
#### application.yml 文件配置
spring:
application:
name: nacos-personal-details
cloud:
nacos:
discovery:
# 如果搭建集群这样写
server-addr: 服务器ip:端口,服务器:端口
cluster-name: ${spring.application.name}
feign:
okhttp:
enabled: false
client:
config:
default:
connect-timeout: 20000
read-timeout: 20000
execution:
timeout:
enable: false
使用feign与nacos遇到的坑
服务之间调用单参数传递记得要使用@RequestParam(“mId”)并且括号里面要给值,否则报错
@PathVariable 不要使用这个注解来进行动态路劲访问 否则会报错
debug调试时记得把连接超时的报异常的属性关闭,否则会报连接超时错误,可以参见上一篇博客
启动类上记得加这两个注解
@EnableFeignClients
@EnableDiscoveryClient
调用其他服务定义的接口就得加这个接口
@FeignClient(value = “server-provider-nacos”, path = “address”)