当前位置:首页 > 服务端 > feign 入门实例

feign 入门实例

2022年11月24日 18:29:44服务端15

feign 入门实例 _ JavaClub全栈架构师技术笔记

服务2代码:


@RestController
@RequestMapping("/cache")
public class CacheController {

    @LogRequired
    @GetMapping("/hello")
    public Map<String, String> hello() {
        HashMap<String, String> amap = new HashMap<String, String>();
        amap.put("data", "feign");
        return amap;
    }

    @LogRequired
    @GetMapping("/echo")
    public Map<String, String> echo(String data) {
        HashMap<String, String> amap = new HashMap<String, String>();
        amap.put("data", data);
        return amap;
    }
}

服务1代码:

public interface FeignTest {

    @RequestLine("GET /cache/hello")
    Map<String, String> hello();
    
    @RequestLine("GET /cache/echo?data={data}")
    Map<String, String> echo(@Param("data") String data);
}

@RestController
public class HelloworldDemoController {

    @RequestMapping("/echo")
    public String echo()  {
 
        FeignTest remote = Feign.builder()
                .encoder(new JacksonEncoder())
                .decoder(new JacksonDecoder())
                .target(FeignTest.class, "http://192.168.74.130:5000/" /*url of server 2*/);

        Map<String, String> amap = remote.echo("hello your head");
        return "feign:" + amap.get("data");
    }

    @RequestMapping("/hello")
    public String hello()  {
 
        FeignTest remote = Feign.builder()
                .encoder(new JacksonEncoder())
                .decoder(new JacksonDecoder())
                .target(FeignTest.class, "http://192.168.74.130:5000/" /*url of server 2*/);

        Map<String, String> amap = remote.hello();
        return "feign:" + amap.get("data");
    }
}

POM.XML 配置


        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-jackson</artifactId>
            <version>9.5.1</version>
        </dependency>

        <dependency>
            <groupId>com.netflix.feign</groupId>
            <artifactId>feign-core</artifactId>
            <version>8.18.0</version>
        </dependency>

 

作者:Zonson9999
来源链接:https://blog.csdn.net/wuzhong8809/article/details/85158766

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/77682.html

标签: Feign
分享给朋友:

“feign 入门实例” 的相关文章

Feign服务之间的鉴权问题

Feign服务调服务传递数据的时候,需要带token验证的,而调用那个用户服务的时候被用户服务方拦截然后没有token进不去接口,很明显的是因为没有token导致,那么Feign里面有提供一个接口叫做RequestInterceptor,只要实...

【SpringBoot】通过Feign调用传递Header中参数

如何通过Feign传递Header参数   问题描述 我们在SpringCloud中使用Feign请求另一个服务的Api接口时,有将Header中参数传递下去的需求,如果不做特殊处理,就会将Header中的参数丢失。   解决方案...

声明式服务消费Feign——4(使用Feign实现消费者服务熔断)

声明式服务消费Feign——4(使用Feign实现消费者服务熔断)

使用Feign实现消费者服务熔断 服务熔断 1.在yml文件开启 hystrix功能 2.指定熔断回调逻辑 3.测试...

Spring cloud alibaba--Feign微服务调用组件

Spring cloud alibaba--Feign微服务调用组件

目录 1.1Feign优势 2.spring cloud alibaba整合Feign 3.Spring Cloud Feign日志配置  4.Feign契约配置  5.Feign超时时间配置 6.Open Feign自定义...

Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(Hystrix 停止开发。。。Spring Cloud 何去何从?),Feign 作为一个跟 Hystrix 强依赖...

Feign支持文件上传

1.2. Source code and dependencies Beside feign-core, we will use feign-form which is module that adds support for encoding...

Feign的使用(与Ribbon的异同)

Feign:伪RPC客户端(本质还是http) 选择Feign:   1.Feignn和Ribbo两个的区别和选择   默认集成了Ribbon(包含关系)   写起来更加思路清晰和方便   采用注解方式进行配置,配置熔断等方式方便 &nbs...

聊聊如何根据环境动态指定feign调用服务名

前言 前段时间和朋友聊天,他说他部门老大给他提了一个需求,这个需求的背景是这样,他们开发环境和测试环境共用一套eureka,服务提供方的serviceId加环境后缀作为区分,比如用户服务其开发环境serviceId为user_dev,测试环境为user_test。每次服务提供方发...

Feign 调用接口报错:no suitable HttpMessageConverter found for response type [xx]... 解决!

由于我的接口返回的字符串,客户端采用feign调用接口一直报错: no suitable HttpMessageConverter found for response type [xx]... 网上查了很多原因,都是说Feign的MideaType不支持类型云云.....

feign传递数组

在实际项目开发过程中,我们使用 Feign 实现服务与服务之间的调用 是在很多情 况下,多参数传递是无法避免的 下面我们分两种情况,讨论如何在 GET POST 情况下 ,在Web开发中 SpringMVC支持GET法直接绑定POJO,但是Feign...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。