使用Feign调用form-data的接口问题

 更新时间:2026年01月13日 09:38:42   作者:黄黄黄黄黄莹  
文章介绍了当不想使用restTemplate处理form-data接口时,可以通过设计一个转换器并在Feign类上加入转换器配置来解决,在Feign定义的方法中,如果接口有多参数,需要使用@RequestParam注解声明变量,否则会报错,文章总结了个人经验,希望能给大家提供帮助

当不想用restTemplate处理form-data接口时,采取以下方式:

1.设计一个转换器

@Slf4j
@Configuration
public class FeignRequestIntercepter{
    @Bean
    @Primary
    @Scope("prototype")
    public Encoder multipartFormEncoder() {
        return new SpringFormEncoder();
    }
}

2.在Feign类上

加入转换器配置

@FeignClient(value = "Student",configuration = {FeignRequestIntercepter.class})
public interface StudentFeignClient {...}

3.在Feign定义得方法中

定义接口

@PostMapping("/innerScore/viewScoreRemark")
Response viewScoreRemark(JSONObject json);

如果是多参数,则添加@RequestParam注解声明变量

@PostMapping("/innerScore/viewScoreRemark")
Response viewScoreRemark(@RequestParam Long classId, @RequestParam Long studentId);

否则报错

Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract com.iqiyi.nexus.dto.Response xxx.viewScoreRemark(java.lang.Long,java.lang.Long)

4.总结

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

相关文章

  • 关于Jar包部署命令全面解析

    关于Jar包部署命令全面解析

    这篇文章主要介绍了Jar包部署命令全面解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • sublime编译器怎么运行java程序

    sublime编译器怎么运行java程序

    Sublime是一款强大的代码编辑器,它提供了丰富的功能和插件,可以帮助开发者提高代码的编写效率和质量,通过安装相关插件和进行简单配置,我们可以轻松地在Sublime中编译和运行Java代码,下面我们将详细介绍如何配置Sublime,使其能够高效地运行Java代码
    2024-06-06
  • 使用Spring Boot搭建Java web项目及开发过程图文详解

    使用Spring Boot搭建Java web项目及开发过程图文详解

    这篇文章主要介绍了使用Spring Boot搭建Java web项目及开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Spring的请求映射handlerMapping以及原理详解

    Spring的请求映射handlerMapping以及原理详解

    这篇文章主要介绍了Spring的请求映射handlerMapping以及原理详解,我们每次发请求,它到底是怎么找到我们哪个方法来去处理这个请求,因为我们知道所有的请求过来都会来到DispatcherServlet,springboot底层还是使用的是springMVC,需要的朋友可以参考下
    2023-08-08
  • Springboot中@ConfigurationProperties轻松管理应用程序的配置信息详解

    Springboot中@ConfigurationProperties轻松管理应用程序的配置信息详解

    通过@ConfigurationProperties注解,可以将外部配置文件中的属性值注入到JavaBean中,简化了配置属性的读取和管理,这使得SpringBoot应用程序中配置文件的属性值可以映射到POJO类中,实现类型安全的属性访问,此方法避免了手动读取配置文件属性的需要
    2024-10-10
  • Java中关键字synchronized的使用方法详解

    Java中关键字synchronized的使用方法详解

    synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块,下面这篇文章主要给大家介绍了关于Java中synchronized使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • Netty分布式NioEventLoop任务队列执行源码分析

    Netty分布式NioEventLoop任务队列执行源码分析

    这篇文章主要为大家介绍了Netty分布式NioEventLoop任务队列执行源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • 搭建简单的Spring-Data JPA项目

    搭建简单的Spring-Data JPA项目

    本文主要介绍了搭建简单的Spring-Data JPA项目,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Springboot中如何使用过滤器校验PSOT类型请求参数内容

    Springboot中如何使用过滤器校验PSOT类型请求参数内容

    在Springboot中创建过滤器,用来过滤所有POST类型请求并获取body中的参数进行校验内容是否合法,该方法仅适用于POST类型请求,本文给大家介绍Springboot中如何使用过滤器校验PSOT类型请求参数内容,感兴趣的朋友一起看看吧
    2023-08-08
  • Spring Boot日志收集及链路追踪实现示例

    Spring Boot日志收集及链路追踪实现示例

    这篇文章主要为大家介绍了Spring Boot日志收集及链路追踪实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论