资讯专栏INFORMATION COLUMN

FeignClient 101 从知道到使用

megatron / 3011人阅读

摘要:从知道到使用抱持这看不如做的态度,一步步了解的使用。准备工作初始化一个的项目去网站初始化一个项目。

FeignClient 101 从知道到使用

抱持这看不如做的态度,一步步了解FeignClient的使用。

准备工作——初始化一个spring cloud 的项目

去网站初始化一个项目。
如图

撸起袖子就是code——引入FeignClient,发第一个请求

这里借用了一下豆瓣的一个api作为例子使用,一个get请求,q为输入的查询参数,
https://book.douban.com/j/sub...
查询的reponse类似

[{"title":"Java编程思想 (第4版)","url":"https://book.douban.com/subject/2130190/","pic":"https://img3.doubanio.com/view/subject/s/public/s27243455.jpg","author_name":"[美] Bruce Eckel","year":"2007","type":"b","id":"2130190"},{"title":"JavaScript高级程序设计(第3版)","url":"https://book.douban.com/subject/10546125/","pic":"https://img3.doubanio.com/view/subject/s/public/s8958650.jpg","author_name":"[美] Nicholas C. Zakas","year":"2012","type":"b","id":"10546125"},{"title":"Java并发编程实战","url":"https://book.douban.com/subject/10484692/","pic":"https://img3.doubanio.com/view/subject/s/public/s7663093.jpg","author_name":"Brian Goetz","year":"2012","type":"b","id":"10484692"},{"title":"JavaScript DOM编程艺术 (第2版)","url":"https://book.douban.com/subject/6038371/","pic":"https://img3.doubanio.com/view/subject/s/public/s4677623.jpg","author_name":"[英] Jeremy Keith","year":"2011","type":"b","id":"6038371"},{"title":"JAVA核心技术(卷1)","url":"https://book.douban.com/subject/3146174/","pic":"https://img3.doubanio.com/view/subject/s/public/s23284090.jpg","author_name":"Cay S. Horstmann","year":"2008","type":"b","id":"3146174"},{"title":"JavaScript语言精粹","url":"https://book.douban.com/subject/3590768/","pic":"https://img3.doubanio.com/view/subject/s/public/s3651235.jpg","author_name":"Douglas Crockford","year":"2009","type":"b","id":"3590768"}]

如果我们在前端发这个请求比较简单的方式就是直接在浏览器输入url :
https://book.douban.com/j/sub...

或者在控制台使用web api

fetch("https://book.douban.com/j/subject_suggest?q=java").then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(myJson);
  });

结果如图

@FeignClient(value = "DoubanFeignClient",
        configuration = DefaultFeignClientConfiguration.class,
        url = "https://book.douban.com")
public interface DoubanClient {
    @GetMapping(value = "/j/subject_suggest")
    List searchBooks(@RequestParam("q") String keyword);
}
回过头来思考——聊聊FeignClient是什么 更多使用实践——FeignClient的其他配置

--

SpringCloud 全家桶——配合使用放大招

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77722.html

相关文章

  • Spring Cloud 参考文档(声明式REST客户端:Feign)

    摘要:继承支持通过单继承接口支持样板,这允许将通用操作分组为方便的基本接口。,记录基本信息以及请求和响应。例如,类定义参数和以下客户端使用注解使用类 声明式REST客户端:Feign Feign是一个声明式的Web服务客户端,它使编写Web服务客户端变得更容易,要使用Feign,请创建一个接口并对其进行注解,它具有可插拔的注解支持,包括Feign注解和JAX-RS注解,Feign还支持可插拔...

    wqj97 评论0 收藏0
  • Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

    摘要:作用跟一致跟属性作用一致给设置注解绝对路径,用于替换服务名。在服务名或与之间默认是,表示当前这个生成的是否是。内部的能获取服务名信息,的实现类能拿到对应的请求路径信息。很不幸,这个类也是包级别的类。整合的代码目前已经在仓库上,但是没未发版。 作者 | Spring Cloud Alibaba 高级开发工程师洛夜来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(H...

    OldPanda 评论0 收藏0
  • spring-cloud-feign源码深度解析

    摘要:内部使用了的动态代理为目标接口生成了一个动态代理类,这里会生成一个动态代理原理统一的方法拦截器,同时为接口的每个方法生成一个拦截器,并解析方法上的元数据,生成一个请求模板。的核心源码解析到此结束了,不知道是否对您有无帮助,可留言跟我交流。 Feign是一个声明式的Web服务客户端。这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插拔注释支持,包...

    vibiu 评论0 收藏0
  • [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用

    摘要:上一节我们使用了基于进行微服务的调用,的调用比较简单,通过组件对请求的服务进行拦截,通过获取到服务实例的然后再去调用。为了代码的重用性,我们来创建一个新的作为的服务调用工具。 上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Port,然后再去...

    Forest10 评论0 收藏0
  • HystrixFeign的详细构建过程及自定义扩展功能

    摘要:重要以及内部类都是访问级别,可以注入自定义的。的目的是将包装成风格以便开发。示例以下示例参考其中的和是自定义的。需要自定义,则实现类,需要自定义,则实现即可总结由于构建过程所用到的是访问级别的,不能使用自定义的以及是,给了我们扩展的空间。 spring-cloud-openfeign-core-2.1.1.RELEASE.jar 中 HystrixFeign 的详细构建过程: @Ena...

    曹金海 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<