Feign远程接口调用

clouds234@163.com

2018-8-6

以下都是使用在springboot2.0.4内置启动插件基础上

Feign-only 不注册到eureka

单独使用feign远程调用接口,不讲feign注册到注册中时的使用方法;只需要在feignclient注解添加url;如下:

@FeignClient(name="url-feign",url="http://localhost:8099",fallback=UrlFeignFallback.class)

public interface UrlFeignClient {

@RequestMapping("/test/getuser")

public String getUser();

}

@Component

class UrlFeignFallback implements UrlFeignClient{

@Override

public String getUser() {

return "error urlfeign!!!";

}

}

这个是service层;不需要单独添加@service注解也可以使用@autowired注入;另外注意这里的fallback需要在配置文件启用;

在yml文件添加:

feign:

hystrix:

enabled: true

feign 注册到eureka

如果feign是注册到eureka的;那么可以简化注解,并且可以实现负载均衡等功能;如下:

@FeignClient(value="server1",fallback=SchedualServiceHiHystric.class)

public interface SchedualServiceHi {

@RequestMapping(value="/hi",method=RequestMethod.GET)

String sayHiFromClientOne(@RequestParam(value="name")String name);

}

/**

* 当消费者请求超时时返回本类信息;

* 本类需实现消费接口;每个方法重写一个超时信息;

* @author clouds234@163.com

* @date 2018年7月5日

*/

@Component

class SchedualServiceHiHystric implements SchedualServiceHi {

@Override

public String sayHiFromClientOne(String name) {

return "sorry "+name+",the server is not answer!!!";

}

}

这里的value="server1"是注册到eureka中心的服务名称;

spring cloud Feign添加headers

使用spring cloud 做saas服务器时,经常会通过Feign调用远程服务。有时候我们的远程服务可能做了某些权限验证。需要验证header或者token什么的。如果某没有token,可能会被阻止调用。那如何添加token呢。如果每个方法都手动设置headers,那未免太麻烦。可以通过一个切面,自动帮我们添加请求header。

直接上代码:

@Configuration

public class FeignConfig implements RequestInterceptor

{

//这里是我自己的redis代理,用不上可以去掉

@Autowired

private IRedisProxy redisProxy;

@Override

public void apply(RequestTemplate requestTemplate)

{

// 生成远程调用认证token

//String token = TokenUtil.TokenCreate("feign");

// 放到redis,设置时长为10S,一般10S后还没有完成请求则token失效

//redisProxy.setex(token, 10, token);

//设置token,关键方法

}

}

怎么用feign远程调用别人的接口_Feign远程接口调用相关推荐

  1. 怎么用feign远程调用别人的接口_Feign - HTTP接口调用- 单独使用 - 实战

    目录 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -26[ 博客园 总入口 ] 写在前面 ? 大家好,我是作者尼恩.目前和几个小伙伴一起,组织了一个高并发的实战社群[疯狂创客圈].正在 ...

  2. 怎么用feign远程调用别人的接口_spring cloud-openFeign声明式远程调用

    spring cloud-openFeign声明式远程调用 1.概述1.1.是什么Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上申明注解Git ...

  3. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  4. 调查与讨论:你在调用别人接口的时候有考虑过失败情况吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 我们在构建分布式系统的时候,对开发人员会有一个很重要的要 ...

  5. android app通过Geth RPC接口实现远程调用

    记录一下APP怎么通过以太坊的RPC接口实现远程调用.此过程的环境为Window7和Android studio2.2.3.以web3_clientVersion为例.更多用法参考Geth JSON- ...

  6. Xamarin使XRPC实现接口/委托远程调用

    在之前的文章中已经介绍如何使用Beetlex.XRCP组件进行接口/委托远程调用:由于组件BeetleX.XRPC.Clients支持.NETStandard2,因此Xamarin同样可以使用它来实现 ...

  7. controller调用controller的方法_SpringCloud(5):Feign整合Ribbon和Hystrix来进行远程调用与服务熔断...

    Feign 前面我们虽然使用了Ribbon和Hystrix进行了负载均衡和服务熔断,但是我们的消费方代码中由于要调用提供方的服务,比如: String user = this.restTemplate ...

  8. 调用别人的接口的几种方法

    概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在Java ...

  9. java 调用url_java程序中访问url接口

    在多人开发项目中,我们经常要在自己程序内部调用别人的http请求接口,主要通过流的方式进行调用,最近项目中经常用到,写了个访问接口如下: /** * 程序中访问http数据接口 */ public S ...

最新文章

  1. 【 Vivado 】输入延迟约束实例
  2. PHP超实用的函数总结整理
  3. ubuntu下txt文件编码转换、查询(gbk/ISO-8859-utf-8)
  4. 如何为libs目录下的jar包关联源代码
  5. C++ STL容器值set
  6. 【Vue.js 知识量化】ES6 语法积累
  7. 屏蔽五项网络功能 让XP系统极速狂飙
  8. 2021-10-25 UI设计规范及动态海报
  9. WPS简历模板的图标怎么修改_桌面图标怎么修改?自定义软件图标的操作方法
  10. qq连连看看外挂-我的QQ连连看“辅助”程序源码
  11. K60笔记2——内存空间分布
  12. 软件工程之概要设计说明书
  13. 单元词检索计算机,截词检索
  14. 0CTF/TCTF2019 Ghost Pepper Writeup
  15. 【智能车学习】FTM模块
  16. 最新麦子学院嵌入式开发系列培训教程
  17. mongodb-报错FailedToParse: Password must be URL Encoded for mongodb:// URL:
  18. Latex在PPT(beamer格式)中的页脚,插入reference (footnote), 分栏与不分栏两种情况, 以及如何调节footnote的字体大小
  19. 改变word自带公式显示的字体的方法
  20. 推荐12个免费查找文献的学术网站,建议点赞、收藏!

热门文章

  1. 微软真的要把windows打入冷宫了吗?
  2. Apache SeaTunnel Doris7月联合Meetup,从数据集成到分析实践
  3. JavaScript-流程控制语句(学习用)
  4. 【前沿技术RPA】 一文了解UiPath的代码审查工具Workflow Analyzer
  5. android动画流畅优化,这样优化安卓手机,起码增加流畅度30%
  6. 一窥社交媒体中的档案学
  7. 数字化会员留存怎么做?会员积分体系如何设计?
  8. 小程序反馈功能并回显(包括前后端)
  9. 质量保证与质量控制的区别
  10. c语言输入一个字符判断是字母还是数字,输入一个字符,如何判断是字母,数字还是特殊字符...