`

springcloud的feign访问方式1.4.1和2.0.1兼容问题,提供服务《一》

 
阅读更多

1.依赖包

 

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-feign</artifactId>
   <version>1.4.1</version>
</dependency>
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
   <version>1.4.1</version>
</dependency>

 

2.feign1.4.1兼容2.0.1

2.1先创建2.0.1需要的FeignClient对象

包名:org.springframework.cloud.openfeign

类详情:

package org.springframework.cloud.openfeign;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
/**
 * Annotation for interfaces declaring that a REST client with that interface should be
 * created (e.g. for autowiring into another component). If ribbon is available it will be
 * used to load balance the backend requests, and the load balancer can be configured
 * using a <code>@RibbonClient</code> with the same name (i.e. value) as the feign client.
 *
 * @author Spencer Gibb
 * @author Venil Noronha
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FeignClient {

   /**
    * The name of the service with optional protocol prefix. Synonym for {@link #name()
    * name}. A name must be specified for all clients, whether or not a url is provided.
    * Can be specified as property key, eg: ${propertyKey}.
    */
@AliasFor("name")
   String value() default "";
/**
    * The service id with optional protocol prefix. Synonym for {@link #value() value}.
    *
    * @deprecated use {@link #name() name} instead
    */
@Deprecated
String serviceId() default "";
/**
    * The service id with optional protocol prefix. Synonym for {@link #value() value}.
    */
@AliasFor("value")
   String name() default "";
/**
    * Sets the <code>@Qualifier</code> value for the feign client.
    */
String qualifier() default "";
/**
    * An absolute URL or resolvable hostname (the protocol is optional).
    */
String url() default "";
/**
    * Whether 404s should be decoded instead of throwing FeignExceptions
    */
boolean decode404() default false;
/**
    * A custom <code>@Configuration</code> for the feign client. Can contain override
    * <code>@Bean</code> definition for the pieces that make up the client, for instance
    * {@link feign.codec.Decoder}, {@link feign.codec.Encoder}, {@link feign.Contract}.
    *
    * @see FeignClientsConfiguration for the defaults
    */
Class<?>[] configuration() default {};
/**
    * Fallback class for the specified Feign client interface. The fallback class must
    * implement the interface annotated by this annotation and be a valid spring bean.
    */
Class<?> fallback() default void.class;
/**
    * Define a fallback factory for the specified Feign client interface. The fallback
    * factory must produce instances of fallback classes that implement the interface
    * annotated by {@link FeignClient}. The fallback factory must be a valid spring
    * bean.
    *
    * @see feign.hystrix.FallbackFactory for details.
    */
Class<?> fallbackFactory() default void.class;
/**
    * Path prefix to be used by all method-level mappings. Can be used with or without
    * <code>@RibbonClient</code>.
    */
String path() default "";
/**
    * Whether to mark the feign proxy as a primary bean. Defaults to true.
    */
boolean primary() default true;
}

 

2.2接口类集成

@FeignClient(url = "127.0.0.1:8082", value = "receiver", path = "/api/receiver")
@org.springframework.cloud.openfeign.FeignClient(url = "127.0.0.1:8082", value = "receiver", path = "/api/receiver")
public interface ReceiverJobApiService {

    @RequestMapping(value = "/recvJob", method = RequestMethod.POST)
    HttpResponse recvJob(@RequestBody RecvJobParam recvJobParam);
}

 

2.3其它

分享到:
评论

相关推荐

    Spring Cloud Feign统一设置验证token实现方法解析

    Spring Cloud Feign是一个基于Netflix的Feign组件,提供了一个简洁的方式来构建RESTful风格的微服务接口。Feign组件提供了一个统一的接口调用方式,使得微服务之间的调用变得更加简洁和高效。在微服务架构中, token...

    springcloud feign 服务消费者 类似 webservice

    Spring Cloud Feign是Spring Cloud生态系统中的一个组件,它作为一个声明式的服务调用客户端,使得编写Web服务客户端变得简单。Feign的设计灵感来源于Netflix的Feign库,它的主要目的是简化微服务之间的通信,使得...

    springcloud feign服务间的相互调用.doc

    Spring Cloud Feign 是一个基于 annotations 的声明式 RESTful 客户端,它提供了对服务间调用的一种简单而高效的解决方案。在本文中,我们将基于 Spring Cloud Feign来实现服务间的相互调用。 首先,让我们来创建一...

    spring cloud feign方式使用服务

    在分布式系统中,服务间的通信是至关重要的,Spring Cloud Feign就是一种声明式的服务调用工具,它使得服务之间的调用变得简单且直观。Feign是Netflix开源的一个接口绑定工具,用于创建声明式的HTTP客户端,通过简单...

    spring cloud feign实现远程调用服务传输文件的方法

    Spring Cloud Feign 是一个基于 Java 的声明式 RESTful 客户端,提供了一种简单、可靠的方式来调用远程服务。在本文中,我们将介绍如何使用 Spring Cloud Feign 实现远程调用服务传输文件的方法。 Feign 介绍 ...

    微服务springcloud之feign使用demo

    RS注解,SpringCloud又为Feign增加了对SpringMVC注解的支持,同时为了能够使用和Spring Web中默认使用的相同的httpMessageConverter,SpringCloud集成了Ribbon和Eureka,用来在使用Feign时能够为其提供一个负载均衡...

    spring cloud feign demo

    Spring Cloud Feign 是一个声明式的 Web 服务客户端,它使得编写 Web 服务客户端变得简单。Feign 让消费者能够以一种声明式的方式定义接口,这些接口将被自动映射到 HTTP 请求。它整合了 Ribbon 和 Eureka,可以方便...

    springcloud feign整合hystrix(服务降级).doc

    在Spring Cloud微服务架构中,Feign和Hystrix是两个重要的组件,它们协同工作以实现服务间的调用和容错处理。Feign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得简单,而Hystrix则是一个用于处理延迟和...

    SpringCloud-创建服务消费者-Feign方式示例代码.zip

    在这个名为"SpringCloud-创建服务消费者-Feign方式示例代码.zip"的压缩包中,我们预计将看到一个简单的Spring Cloud应用,该应用展示了如何利用Feign作为服务消费者来调用其他服务。 首先,让我们了解Feign的基本...

    SpringCloud之Feign

    【SpringCloud之Feign】是Spring Cloud生态体系中一个重要的组件,主要用于服务间的调用,实现了声明式的服务调用,极大地简化了微服务之间的通信。Feign基于Netflix Hystrix进行了整合,支持服务熔断,提高了系统的...

    springcloud-feign.zip

    springcloud整合openFeign,包括feign的基本使用、传参、指定特定的服务器、负载均衡等使用方法。 模块有: springcloud-feign-api springcloud-feign-consumer springcloud-feign-provider springcloud-feign-...

    75-Spring Cloud Feign使用笔记1

    总结来说,Spring Cloud Feign 提供了一种声明式的微服务调用方式,通过简单的接口定义,实现了对远程服务的透明调用。结合 Ribbon 和 Hystrix,Feign 可以提供负载均衡、服务容错和降级功能,同时通过灵活的日志...

    Spring Cloud中关于Feign的常见问题总结

    SpringCloud中关于Feign的常见问题总结,包括常用的请求注解、@PathVariable、FeignClient多参数的构造等

    Spring Cloud 之 Eureka集群整合Zuul、Feign-源码

    在本教程中,我们将深入探讨如何在Spring Cloud框架下实现Eureka集群,并整合Zuul和Feign。首先,我们要理解这些组件的核心功能。 **Eureka**是Spring Cloud中的服务发现组件,它允许微服务之间互相发现并进行通信...

    springcloud应用之feign

    综上所述,Spring Cloud Feign是构建分布式系统中不可或缺的一部分,它与Ribbon和Eureka的协作,为微服务架构提供了便捷、高效的服务调用方式,极大地简化了服务间的通信复杂性。在实际项目中,合理利用这些组件,...

    springcloud - 2021.0.3版本 - (一)服务注册nacos+feign

    Spring Cloud是一个强大的框架,用于构建分布式系统,如微服务架构,而Nacos是阿里巴巴开源的动态配置、服务发现和远程调用平台,Feign则是一个声明式Web服务客户端。 首先,我们需要理解Spring Cloud Nacos的核心...

    38-Spring Cloud Feign重试1

    Spring Cloud Feign 重试机制是微服务架构中不可或缺的一部分,它确保了服务间的通信可靠性。Feign 是基于声明式的客户端,它通过 Ribbon 进行客户端负载均衡来调用其他服务。Ribbon 提供了自动重试的功能,使得在...

    spring cloud eureka zuul ribbon hystrix feign config 示例

    Spring Cloud 是一个基于 Netflix OSS 的微服务架构框架,它提供了多种工具和服务,帮助开发者构建、配置和管理分布式系统。在给定的标题和描述中,我们看到了几个关键组件:Eureka、Zuul、Ribbon、Hystrix 和 Feign...

    SpringCloud之四 负载均衡Feign

    在微服务架构中,服务间通信是常态,Feign提供了一种声明式的Web服务客户端,使得开发者在编写服务间通信代码时,能够更加直观和简单。 ### Feign的特性与工作原理: 1. **声明式接口**:Feign通过定义一个接口,...

    SpringCloud eureka mybatis zuul feign

    在微服务架构中,SpringCloud是一个非常流行的框架集合,它为开发者提供了构建分布式系统所需的工具,包括服务发现、配置管理、断路器、智能路由、微代理等。在这个项目中,我们关注的是SpringCloud Eureka、Zuul、...

Global site tag (gtag.js) - Google Analytics