返回顶部
首页 > 资讯 > 后端开发 > Python >JavaFeign微服务接口调用方法详细讲解
  • 552
分享到

JavaFeign微服务接口调用方法详细讲解

JavaFeign微服务接口调用JavaFeign微服务调用 2023-01-29 15:01:33 552人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录Feign说明引入依赖启动类开启客户端Feign接口开发编写容错类在业务层调用Feign客户端接口Feign的常用属性如下Feign说明 Feign是一种声明式、模板化的Http

Feign说明

Feign是一种声明式、模板化的Http客户端。在spring cloud中使用Feign,可以做到类似于普通的接口的请求调用,可以发现对应的服务的接口,进而直接调用对应服务中的接口。

引入依赖启动类开启客户端

首先需要引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

然后在启动类中加入注解@EnableFeignClients ,开启Feign客户端。

Feign接口开发

然后在当前服务内编写Feign接口,接口与普通的controller层类似,只是在类上不需要写@Controller等注解,只需要加上@Component 、 @FeignClient注解即可,下面的请求方法需要写上@PostMapping(“/findList”)注解。如下:

@Component
@FeignClient(value = "sso", path = "/api/user", fallback = UserClientHystrix.class)
public interface UserClient {
    
    @PostMapping("/findList")
    Result<UserDO> findList(@CustomJSONBody Object object);
}

编写容错类

容错类主要是在调用对应的服务接口时如果出现异常时的应急措施,返回一个自定义结果。

@Component("userClientHystrix")
public class UserClientHystrix implements UserClient {
    @Override
    public Result<UserDO> findList(Object object) {
        return Result.error("服务不可用!");
    }
}

在业务层调用Feign客户端接口

编写好Feign客户端接口后,就可以在本服务内的业务层调用Feign的接口实现服务间的调用了。

@Resource
UserClient userClient;
public Result<List<UserDO>> findList(){
	Map<String, String> map = new HashMap<>();
	map.put("userNo", "1001");
	return Result.success(userClient.findList(map).getData());
}

Feign的常用属性如下

name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现

url: url一般用于调试,可以手动指定@FeignClient调用的地址,如果指定了url地址后,会优先调用url指定的地址

decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException

configuration: Feign配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract

fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口

fallbackFactory: 工厂类,用于生成fallback类示例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码

path: 定义当前FeignClient的统一前缀,当我们项目中配置了server.context-path,server.servlet-path时使用

到此这篇关于Java Feign微服务接口调用方法详细讲解的文章就介绍到这了,更多相关Java Feign微服务接口调用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaFeign微服务接口调用方法详细讲解

本文链接: https://lsjlt.com/news/178623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作