在测试中出现feign被指时没有问题的,但是就时调不到接口。
检查了,两个服务都已经注册到注册中心了。
最后发现,是使用的Eureka时,外部引用的feign的接口配置。需要在@EnableFeignClients中显示说明。
原有代码:
@SpringBootApplication
@EnableEurekaClient
@EnableResourceServer
@MapperScan("com.zhong.spring.data.dao.*")
@ComponentScan({"com.zhong.spring.web", "com.zhong.apiservice"})
@EnableFeignClients
@EnableTransactionManagement(order=10)
public class WebBootApplication{
//.....
}
修改后:
@SpringBootApplication
@EnableEurekaClient
@EnableResourceServer
@MapperScan("com.zhong.spring.data.dao.*")
@ComponentScan({"com.zhong.spring.web", "com.zhong.apiservice"})
@EnableFeignClients(basePackages = {"com.zhong.apiservice.client.feign"})
@EnableTransactionManagement(order=10)
public class WebBootApplication extends ResourceServerConfigurerAdapter{
//。。。。。
}
com.zhong.aprservice是我引入的外部feign接口。必须要在@EnableFeignClients中配置