spring cloud Feign使用@RequestLine遇到的坑

 更新时间:2021年06月25日 09:11:46   作者:RayLiang微博  
这篇文章主要介绍了spring cloud Feign使用@RequestLine遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Feign使用@RequestLine遇到的坑

如何在微服务项目中调用其它项目的接口试使用spring cloud feign声明式调用。

/**
 * 客户端请去
 * @author RAY
 *
 */
@FeignClient(name="store",configuration=FooConfiguration .class)
public interface UserFeignClient {
    @RequestLine("GET /simple/{id}")
    public  User findById(@Param("id") Long id);
}

但是启动得时候报错:

Method getLinksForTrack not annotated with HTTP method type (ex. GET, POST)

官方文档说明

@RequestLine is a core Feign annotation, but you are using the Spring Cloud @FeignClientwhich uses Spring MVC annotations.

意思就是feign 默认使用的是spring mvc 注解(就是RequestMapping 之类的) ,所以需要通过新增一个配置类来修改其“契约”。

@Configuration
public class FooConfiguration {
    @Bean
    public Contract feignContract() {
        return new feign.Contract.Default();
//使用feign自带契约
    }
}

PS : feignContract方法名不要跟一样。否则启动得时候会报错。 得改一个跟类名不一样得方法名!

@RequestLine的使用及配置

@RequestLine与其它请求不同,只需要简单写请求方式和路径就能达到请求其它服务的目的。

@FeignClient(value = "feign-server",configuration = FeignConfig.class)  //需要一个配置文件
public interface TestService {
    @RequestLine("POST /feign/test")    //对应请求方式和路径
    String feign(@RequestBody UserDO userDO);
}
@EnableFeignClients
@SpringBootConfiguration
public class FeignConfig {
    @Bean
    public Contract contract(){
        return new feign.Contract.Default();
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IDEA搭建SpringBoot离线工程的方法

    IDEA搭建SpringBoot离线工程的方法

    这篇文章主要介绍了IDEA搭建SpringBoot离线工程的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java之jpa入门教程讲解

    Java之jpa入门教程讲解

    这篇文章主要介绍了Java之jpa入门教程讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • spring的几个重要类和接口(详解)

    spring的几个重要类和接口(详解)

    下面小编就为大家带来一篇spring的几个重要类和接口(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • spring MVC实现简单登录功能

    spring MVC实现简单登录功能

    这篇文章主要为大家详细介绍了spring MVC实现简单登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Hibernate Validator实现更简洁的参数校验及一个util

    Hibernate Validator实现更简洁的参数校验及一个util

    这篇文章主要介绍了Hibernate Validator实现更简洁的参数校验及一个util,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Java过滤器如何解决存储型xss攻击问题

    Java过滤器如何解决存储型xss攻击问题

    这篇文章主要介绍了Java过滤器如何解决存储型xss攻击问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java 精炼解读数据结构逻辑控制

    Java 精炼解读数据结构逻辑控制

    在程序开发的过程之中一共会存在有三种程序逻辑:顺序结构、分支结构、循环结构,对于之前所编写的代码大部分都是顺序结构的定义,即:所有的程序将按照定义的代码顺序依次执行
    2022-03-03
  • Mybatis-plus更新字段为null两种常用方法及优化

    Mybatis-plus更新字段为null两种常用方法及优化

    Mybatis Plus在进行更新操作时,默认情况下是不能将字段更新为null的,如果要更新字段为null,需要进行以下处理,这篇文章主要给大家介绍了关于Mybatis-plus更新字段为null的两种常用方法及优化,需要的朋友可以参考下
    2024-03-03
  • spring boot集成p6spy的最佳实践

    spring boot集成p6spy的最佳实践

    这篇文章主要介绍了spring boot集成p6spy的最佳实践-p6spy-spring-boot-starter的项目案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • 浅析如何在Java应用中优雅的发送短信

    浅析如何在Java应用中优雅的发送短信

    很多业务场景里,我们都需要发送短信,比如登陆验证码、告警、营销通知、节日祝福等等,这篇文章,我们聊聊 Java 应用中如何优雅的发送短信,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-11-11

最新评论