顾乔芝士网

持续更新的前后端开发技术栈

Spring Cloud实战 | 第五篇:Spring Cloud整合OpenFeign

Spring Cloud实战 | 第五篇:Spring Cloud整合OpenFeign实现微服务之间的调用

1、新增ljf-admin模块: 根据ljf-auth子模块复制

2、新增ljf-admin-api模块,添加依赖


    org.springframework.cloud
    spring-cloud-starter-openfeign


    io.github.openfeign
    feign-okhttp




    com.ljf.common
    ljf-common-base
    1.0-SNAPSHOT

3、接口FeignClient代码

@FeignClient(value = "ljf-admin")
public interface UserAdminFeign {
    @GetMapping("/admin/user/list")
    Result getUserListByPage(@RequestParam("page") Integer page, @RequestParam("limit") Integer limit, @RequestParam("username") String username);


    @GetMapping("/admin/user/getUserByUsername")
    Result getUserByUsername(@RequestParam("username") String username);


}

4、ljf-auth引入ljf-admin-api


    com.ljf.admin
    ljf-admin-api
    1.0.0

5、测试调用feign接口

@RestController
@RequestMapping("/oauth")
public class UserController {


    @Autowired
    private UserAdminFeign userAdminFeign;


    @GetMapping("/getUserByUsername")
    public Result getUserByUsername(String username){
        return userAdminFeign.getUserByUsername(username);
    }
}

6、开启feign自动配置

@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients(basePackages = "com.ljf.*")
public class AuthApplication {
    public static void main(String[] args) {
        SpringApplication.run(AuthApplication.class);
    }
}

7、添加配置启用 OkHttp作为底层的client

feign:
  okhttp:
    enabled: true

8、 用nacos作为注册中心,碰到java.net.UnknownHostException: ljf-adminr的错误,意思就是无法解析的主机.

需要添加依赖

   
      org.springframework.cloud 
      spring-cloud-loadbalancer
 

如果用的是RestTemplate ,需要在bean上面配置

@LoadBalanced 
@Bean 
RestTemplate getRestTemplate(){ 
    return new RestTemplate(); 
}

9、测试访问



控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言