feign调用简单实例
表述一个简单的feign调用实现
注意:对象只能传jsonString,不能传层数多的对象,会丢数据。
最新参考实例:
https://blog.csdn.net/leinminna/article/details/124200936
1. 服务端
服务端添加一个client模块,专门用于跨微服务之间的feign调用;
一下在该模块中操作。
1.1 pom
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
1.2 feign接口
添加一个feign包,包中添加feign接口,用于调用该接口指向的业务实现代码,
与feign包同级添加,对外的client客户端。
feign接口代码
它的业务实现代码此处略。
package cn.cncomdata.snowflake.feign;import cn.cncomdata.snowflake.vo.BaseVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;import java.util.List;/*** author: xxx* date: 2019/1/21 13:57*/
@FeignClient(name = "snowflake", url = "${snowflake.service.url}")
public interface SnowflakeFeignClient {@GetMapping("/id")BaseVO<Long> uniqueId();}
client代码
package cc.iooc.snowflake;import cn.cncomdata.snowflake.feign.SnowflakeFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.List;/*** @program: snowflake* @description: SnowflakeClient* @author: xxx* @create: 2019-03-21-12-51**/
@Component
public class SnowflakeClient {/*** snowflakeFeignClient*/@Autowiredprivate SnowflakeFeignClient snowflakeFeignClient;/*** uniqueId** @return Long*/public Long uniqueId() {return snowflakeFeignClient.uniqueId().getData();}}
1.3 推送maven包管理仓库
方便项目加载,需要打包后推送到公司的maven中央仓库。
2.消费端
2.1 pom
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>cn.cncomdata</groupId><artifactId>snowflake-client</artifactId><version>1.0.0</version></dependency><repositories><repository><id>nexus</id><name>nexus</name><url>http://maven.cncomdata.cn/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases></repository></repositories>
2.2 application.yaml
#本地调用可以IP加端口号
snowflake:service:url: ${snowflake_service_url:http://snowflake.test.yunmesh.com:10016}
feign:hystrix:enabled: falseclient:config:default: # 服务名,default表示所有服务connectTimeout: 300000readTimeout: 300000loggerLevel: full
2.3 启动类
添加@EnableFeignClients
package cn.cncmmdata.form;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;/*** ElasticsearchApplication* @author admin*/
@SpringBootApplication(scanBasePackages = {"cn.cncomdata", "cc.iooc"},exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"cn.cncomdata", "cc.iooc"})
@MapperScan("cn.cncomdata.form.repository")
public class FormApplication {/*** main** @param args args*/public static void main(String[] args) {SpringApplication.run(FormApplication.class, args);}}
2.4 使用
package cn.cncomdata.form.controller;import cc.iooc.snowflake.SnowflakeClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;/*** @Author: leimin* @Description: new class* @Date: 2020/6/18 13:45* @Version: 1.0*/
@RestController
public class TestController {@Resourceprivate SnowflakeClient snowflakeClient;/*** id生成器* @return Long id*/@GetMapping("/id")public Long getId(){return snowflakeClient.uniqueId();}
}
feign调用简单实例相关推荐
- 关于webservice的异步调用简单实例
于webservice的异步调用简单实例 无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明. ...
- spring cloud+zookeeper+feign整合 简单实例(一)
一.前言 各位热爱知识的小伙伴们大家好呀!很高兴大家能点开这个博客,这是我个人的第一篇博客,之后也会持续的更新java以及spring项目的相关代码,希望大家持续关注.如果对本篇博客有什么不懂的地方或 ...
- Linux下JNI调用简单实例操作全过程
开发环境:Linux(Ubuntu 11.04) + JDK 7 实例说明:利用JNI调用本地代码的方法来实现一个计算Int数组总和的功能 使用JNI调用本地代码,整个开发流程主要包括以下几个步骤: ...
- js调用c语言程序设计,HTML页面,测试JS对C函数的调用简单实例
HTML页面,测试JS对C函数的调用 //http://www.w3schools.com/jsref/event_onclick.asp //document.write('Hello World! ...
- Android JNI简单实例(android 调用C/C++代码)
转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...
- vue 调用webservice_js跨域调用WebService的简单实例
步骤1. 在web.config中的system.web节点里加入 步骤2.webservice代码 using System; using System.Collections.Generic; u ...
- php调用.net webservice,PHP调用.NET的WebService 简单实例
这篇文章主要介绍了使用PHP调用.NET的WebService的一个简单实例,十分的简单,有需要的小伙伴可以自己扩展下,如有疑问请留言. 创建一个C#的web service,这个就不多说了,我用vs ...
- js调用java_Js调用Java方法并互相传参的简单实例
Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. public class PluginTest extends P ...
- vc2010下调用miniblink控件实现浏览器简单实例
vc2010下调用miniblink控件实现浏览器简单实例 上篇文章对vc6下实现miniblink控件实现浏览器简单实例进行了说明,现在针对vc2010下实现例子进行说明. Miniblink只有一 ...
最新文章
- java签名算法阻止 设置_java数字签名算法之RSA
- SpringMVC中重定向
- bool 字符串方法 和for循环
- 原地不动 福玛特机器人_智能扫地机器人一直在原地打转是怎么回事以及解决办法...
- endnote x9打开闪退_最新最全!Endnote X9完美使用方法
- Win7安装OnlyOffice(不使用Docker)
- java等待_Java学习:等待唤醒机制
- text文字垂直居中_CSS垂直居中,你会多少种写法?
- Session优缺点
- 一题多解 —— 二项式分布的期望和方差的计算
- c# 找出目录下的所有子目录_C#遍历文件夹,其实只需要一句话!
- vue 设置div圆角,只设置上面两个圆角,下面两个还是正方形
- js根据银行卡号进行判断属于哪个银行并返回银行卡类型
- Plant Ecology Journal Club, 2018
- HTML表格合并行和列
- bigworld源码分析(3)——dbMgr分析
- OA之会议排座与送审
- Ubuntu使用时的小问题
- shell脚本增加回车符
- (python)改进的k-shell算法来识别关键节点 The improved k-shell algorithm(IKS)
热门文章
- windows如何获取端口号
- 图像融合之泊松融合,原理讲解及C++代码实现(特别适合新手)
- 腾讯2021校园招聘-后台综合-第二次笔试 Apare_xzc
- Windows系统安全检查脚本
- YOLOv5-v5.0模块流程图
- brew | brew cask | yum | apt-get
- Excel如何将多行数据合并为一行并添加间隔符号
- 基于嵌入式的室内静态场景实时重建系统
- 堆内存(3)——分配函数_int_malloc
- 风电齿轮箱在线监测方案