我是靠谱客的博主 细腻画笔,最近开发中收集的这篇文章主要介绍第七篇:Feign访问服务集群,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、 什么是  Feign ?

Feign 是一种声明式、模板化的 HTTP 客户端,在 Spring Cloud 中使用 Feign,可以做到使用 HTTP

请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是

个 HTTP 请求。

Feign 的灵感来源于 Retrofit、JAXRS-2.0 和 WebSocket,它使得 Java HTTP 客户端编写更方便,旨在通过最少的资源和代码来实现和 HTTP API 的连接。

 

二:pom依赖
springboot2.0以前的依赖

1

2

3

4

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-feign</artifactId>

</dependency>

Finchley.SR1版本 feign的pom依赖

1

2

3

4

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-openfeign</artifactId>

</dependency>

说明:由于很多模块都要用,可以直接在父工程依赖,同时feign无需指定version,因为springclould中已经指定了版本

 

三:@EnableFeignClients启动feign (在调用方启动该注解)

1

2

3

4

5

6

7

8

9

@SpringBootApplication

@EnableEurekaClient

@EnableFeignClients

public class ConsumerApplication {

    public static void main(String[] args) {

        SpringApplication.run(ConsumerApplication.class, args);

    }

 

}

 

四:定义服务接口

1

2

3

4

5

6

7

8

9

10

11

12

13

14

package com.wendao.provider.consumer.feign;

 

import com.wendao.provider.consumer.pojo.User;

import org.springframework.cloud.openfeign.FeignClient;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

//spring-cloud-service-provider为服务提供者的应用名

@FeignClient(name="spring-cloud-service-provider")

public interface IuserBiz {

 

    @RequestMapping(value = "/user/{userId}")

    User findUserById(@PathVariable(name = "userId") Integer uesrId);

 

}

 

这里切记一点:虽然路径中参数名叫userId和方法形参中参数名一致,但是@PathVariable中还是要指定。

 

 

五:调用

1

2

3

4

5

6

7

8

9

10

11

12

13

@RestController

public class ConsumerController {

  

    @Autowired

    private IuserBiz iuserBiz;

  

    @RequestMapping("/findOne/{id}")

    public User findOne(@PathVariable  Integer id){

 

        return iuserBiz.findUserById(id);

    }

  

}

 

小结:服务提供者的代码不用做任何修改,只需要在服务消费者这边修改即可

 

 

最后

以上就是细腻画笔为你收集整理的第七篇:Feign访问服务集群的全部内容,希望文章能够帮你解决第七篇:Feign访问服务集群所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部