怎么用feign远程调用别人的接口_Feign远程接口调用
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远程接口调用相关推荐
- 怎么用feign远程调用别人的接口_Feign - HTTP接口调用- 单独使用 - 实战
目录 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -26[ 博客园 总入口 ] 写在前面 ? 大家好,我是作者尼恩.目前和几个小伙伴一起,组织了一个高并发的实战社群[疯狂创客圈].正在 ...
- 怎么用feign远程调用别人的接口_spring cloud-openFeign声明式远程调用
spring cloud-openFeign声明式远程调用 1.概述1.1.是什么Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上申明注解Git ...
- java调用远程 接口_java通过url调用远程接口返回json数据
java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...
- 调查与讨论:你在调用别人接口的时候有考虑过失败情况吗?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 我们在构建分布式系统的时候,对开发人员会有一个很重要的要 ...
- android app通过Geth RPC接口实现远程调用
记录一下APP怎么通过以太坊的RPC接口实现远程调用.此过程的环境为Window7和Android studio2.2.3.以web3_clientVersion为例.更多用法参考Geth JSON- ...
- Xamarin使XRPC实现接口/委托远程调用
在之前的文章中已经介绍如何使用Beetlex.XRCP组件进行接口/委托远程调用:由于组件BeetleX.XRPC.Clients支持.NETStandard2,因此Xamarin同样可以使用它来实现 ...
- controller调用controller的方法_SpringCloud(5):Feign整合Ribbon和Hystrix来进行远程调用与服务熔断...
Feign 前面我们虽然使用了Ribbon和Hystrix进行了负载均衡和服务熔断,但是我们的消费方代码中由于要调用提供方的服务,比如: String user = this.restTemplate ...
- 调用别人的接口的几种方法
概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在Java ...
- java 调用url_java程序中访问url接口
在多人开发项目中,我们经常要在自己程序内部调用别人的http请求接口,主要通过流的方式进行调用,最近项目中经常用到,写了个访问接口如下: /** * 程序中访问http数据接口 */ public S ...
最新文章
- 【 Vivado 】输入延迟约束实例
- PHP超实用的函数总结整理
- ubuntu下txt文件编码转换、查询(gbk/ISO-8859-utf-8)
- 如何为libs目录下的jar包关联源代码
- C++ STL容器值set
- 【Vue.js 知识量化】ES6 语法积累
- 屏蔽五项网络功能 让XP系统极速狂飙
- 2021-10-25 UI设计规范及动态海报
- WPS简历模板的图标怎么修改_桌面图标怎么修改?自定义软件图标的操作方法
- qq连连看看外挂-我的QQ连连看“辅助”程序源码
- K60笔记2——内存空间分布
- 软件工程之概要设计说明书
- 单元词检索计算机,截词检索
- 0CTF/TCTF2019 Ghost Pepper Writeup
- 【智能车学习】FTM模块
- 最新麦子学院嵌入式开发系列培训教程
- mongodb-报错FailedToParse: Password must be URL Encoded for mongodb:// URL:
- Latex在PPT(beamer格式)中的页脚,插入reference (footnote), 分栏与不分栏两种情况, 以及如何调节footnote的字体大小
- 改变word自带公式显示的字体的方法
- 推荐12个免费查找文献的学术网站,建议点赞、收藏!
热门文章
- 微软真的要把windows打入冷宫了吗?
- Apache SeaTunnel Doris7月联合Meetup,从数据集成到分析实践
- JavaScript-流程控制语句(学习用)
- 【前沿技术RPA】 一文了解UiPath的代码审查工具Workflow Analyzer
- android动画流畅优化,这样优化安卓手机,起码增加流畅度30%
- 一窥社交媒体中的档案学
- 数字化会员留存怎么做?会员积分体系如何设计?
- 小程序反馈功能并回显(包括前后端)
- 质量保证与质量控制的区别
- c语言输入一个字符判断是字母还是数字,输入一个字符,如何判断是字母,数字还是特殊字符...