一次Feign使用的案例
项目名称
projectName
Maven架构
l ProjectName-项目名称,项目父工程
- projectName-api-提供给外部组件使用的接口
- common-一些基本共用的类、枚举常量等
- modules-项目主体模块
n projectName-business-业务基础服务(对应数据库实体类、持久层等)
n projectName-provider-业务上层的服务(接收参数、控制层、VO等)
n projectName-reference-项目内使用的外部组件的接口
- start-项目启动类,以及配置等
- tool-工具
- view-web视图层
projectName-api
定义提供给外部的接口:xxxApi
基本的内容为:
@Api(tags = {"xxxx接口api"})
@Path("/pathX")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@ApiImplicitParams({@ApiImplicitParam(
name = "Token",
value = "接口",
dataType = "string",
defaultValue = "11",
paramType = "header"
)})
public interface XxxDataApi {
/**
* xxxx
* @return
*/
@POST
@Path("/pathY")
@ApiOperation(value = "xx接口", notes = "xx接口", tags = {"xx接口api"})
@TokenIgnore
XxxResponseApiDTO xxxData(ParamXxxDto paramXxxDto);
}
projectName-provider
实现projectName-api提供给外部使用的接口
使用内部的service等实现基本的业务逻辑,即书写实现业务的代码
projectNama-reference
在另一个A项目组件需要使用上面定义的外部接口时,A项目组件在projectName-reference下定义一个接口XxxDataApiClient
基本内容如下:
@FeignClient(value = "组件服务名称", path = "组件服务路径")
public interface XxxDataApiClient extends XxxDataApi {}
这样就可以直接在A项目中使用该接口,使用XxxDataApi内部的方法。
一次Feign使用的案例的更多相关文章
- springcloud(九):熔断器Hystrix和Feign的应用案例
因为 feign 中已经支持了 Hystrix ,所以在 Feign 中使用 Hystrix 时,不需要导包,也不需要在入口类上面增加额外的注解: Feign 虽然支持了 Hystrix ,但是默认 ...
- spring boot 2.0.3+spring cloud (Finchley)3、声明式调用Feign
Feign受Retrofix.JAXRS-2.0和WebSocket影响,采用了声明式API接口的风格,将Java Http客户端绑定到他的内部.Feign的首要目标是将Java Http客户端调用过 ...
- Feign 系列(01)最简使用姿态
目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...
- springcloud高级
第一章 负载均衡 Ribbon (Spring Cloud 高级) 一. Ribbon 在微服务中的作用 1 什么是 Ribbon 1.Ribbon 是一个基于 Http 和 TCP ...
- springcloud(九):熔断器Hystrix和Feign的全套应用案例(二)
一.. 创建Eureka-Server 服务中心项目 1. 创建Eureka-Server 服务中心项目架构如下 2. pom.xml <dependencies> <depende ...
- springcloud(十六)、feign+hystrix+ribbon+zuul应用案例
在 基于 " sringcloud(十四).ribbon负载均衡策略应用案例 "所有工程的基础上,进行如下操作进行网关设置 1.创建eureka-client-consumer-z ...
- Spring Cloud微服务系列文,服务调用框架Feign
之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON. 这种 ...
- Spring Cloud微服务笔记(五)Feign
Feign 一.Feign概述 Feign是一个声明式的Web Service客户端.在Spring Cloud 中使用Feign,可以做到 使用HTTP请求访问远程服务,就像调用本地方法一样,同时它 ...
- spring cloud 微服务调用--ribbon和feign调用
这里介绍ribbon和feign调用两种通信服务调用方式,同时介绍如何引入第三方服务调用.案例包括了ribbon负载均衡和hystrix熔断--服务降级的处理,以及feign声明式服务调用.例子包括s ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)
技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用.单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行 ...
随机推荐
- Read And Write
The process of argument(论据的过程) Making a claim.(申明观点) Pointing out the opposing idea.(指出相反观点) Support ...
- 浙大版《C语言程序设计(第3版)》题目集 练习3-3 统计学生平均成绩与及格人数 (15 分)
练习3-3 统计学生平均成绩与及格人数 (15 分) 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数.题目保证输入与输出均在整型范围内. 输入格式: 输入在第一行中给出非 ...
- CSS设置边距
1.内边距 所有的 HTML 元素基本都是以矩形为基础. 每个 HTML 元素周围的矩形空间由三个重要的属性来控制: padding(内边距) margin(外边距) border(边框 ...
- Linux磁盘相关工具 -- iostat
iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载. iostat主要用于输出磁盘IO和CPU统计信息. 1. iostat用法: iost ...
- 从NCBI中下载各物种参考基因组
1. 打开NCBI 2. 输入物种名,以HPV为例: 搜索,到genomes分栏下面选择Assembly点击进去 3. 进去下面的界面,再点击RefSeq进入下载界面 4. 进入下载界面: HPV参考 ...
- python操作 linux连接wifi,查看wifi连接状态方法
Python连接Ubuntu 环境 wifi流程 1.获取网络接口列表 通过wifi_net.py 的query_net_cards方法获取终端物理网络接口列表及IP信息: 获取物理网络接口列表: ...
- 阿里云下载ssl证书
"request合法域名"跟上面CA证书中申请的二级域名一致. Springboot增加证书 创建Springboot项目. 解压缩后,证书文件4375838_wechat.abc ...
- 在css 中使用calc并且含有变量
bottom:~"calc(.9rem + constant(safe-area-inset-bottom))"; bottom:~"calc(.9rem + env ...
- PVE设置硬盘休眠并解决经常唤醒问题
查询硬盘编号: ls -l /dev/disk/by-id/ 查询硬盘状态: smartctl -i -n standby /dev/sda |grep "mode"|awk '{ ...
- vue实现学生管理系统
开发步骤 创建一个空文件夹,取名students-system 方式一:右键新建 方式二:命令行新建(提倡) ##windows系统 md students-system##mac/linux mkd ...