微服务远程调用组件Feign的使用详解
一. 概要
我们知道,现在最火且最有技术含量的技术莫过于SpringCloud微服务了,所以今天就带大家来学习一下微服务的核心的组件之一,Feign的基本使用及其工作机制。
二. Feign简介
1.概念
在学习Feign的使用之前,我们先来了解一下什么是Feign。
Feign是Netflix开发的声明式(目前由Spring在维护)、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP Api。
简单地来说,Feign就是一个用于远程调用服务的框架/工具,让开发者可以更少耦合、更少代码、更加快,也更兼容的方法进行远程服务调用。
2.功能
Feign可插拔的注解支持,包括Feign注解和JAX-RS注解;
Feign与Ribbon负载均衡器、Hystrix或Sentinel熔断器无缝集成;
Feign支持可插拔的HTTP编码器和解码器;
Feign支持HTTP请求和响应的压缩等。
了解了这些基本概念之后,接下来百泽老师就带大家看看Feign组件是如何实现远程接口调用的。废话少说,我们直接上代码。
三. 服务提供者
1.添加依赖
首先我们在父POM文件中添加核心依赖如下:
然后在子POM文件添加依赖如下:
2.配置文件
application.yml文件中添加如下配置:
3.启动类
项目的启动类代码如下:
4.控制层
我们可以编写一个Controller控制器,将Web接口定义如下。
5.POJO
这里再定义一个pojo实体类。
四. 服务消费者
1.添加依赖
消费者服务的核心依赖如下:
2.配置文件
消费者服务的application.yml配置文件如下:
3.启动类
消费者服务的启动类代码。
这里也需要定义一个POJO类,代码同上,此处略过。
4.Feign服务
此处我们需要定义一个Feign接口类。
5.控制层
然后我们也需要在消费者服务中定义一个Controller接口。
代码编写完毕后,我们需要将服务提供者和服务消费者两个项目都启动起来,然后进行测试。
五. 测试
1.测试get请求
2.测试post请求,json数据格式
3.测试头部中包含信息
通过测试我们就可以发现,测试我们已经实现了在服务消费者中原创调用服务提供者里的接口,从而实现了接口的远程调用。现在你学会了吗?
相关推荐HOT
更多>>如何添加Java环境变量?
要添加Java环境变量,可以按照以下步骤:并安装Java开发工具包(JDK)、找到Java安装路径、设置JAVA_HOME环境变量、添加Java可执行文件路径到PATH...详情>>
2023-05-04 11:00:56从零开始学Java之String字符串的编码
对很多小白来说,可能不明白什么是字符编码,也不知道为什么要有字符编码,所以先来给大家简要地介绍一下字符编码。详情>>
2023-05-04 10:21:02新手速来!几步带你掌握MyBatis Plus
Mybatis-Plus(简称MP)是一款Mybatis的增强工具,它是在Mybatis的基础上实现的简化开发工具。Mybatis-Plus给我们提供了开箱即用的CRUD操作、自动...详情>>
2023-04-28 10:57:09学习java需要什么基础?基础知识有哪些?
网络编程:了解基本的网络编程概念和协议,熟悉 Java 网络编程 API。建议在学习 Java 之前,先学习一些基础的编程语言,如 C 或 Python 等,这...详情>>
2023-04-28 10:41:14