使用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.总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot使用Redis的zset统计在线用户信息
这篇文章主要介绍了SpringBoot使用Redis的zset统计在线用户信息,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下2021-04-04
SpringBoot配置文件bootstrap和application区别及说明
这篇文章主要介绍了SpringBoot配置文件bootstrap和application区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
java实现获取网站的keywords,description
这篇文章主要介绍了java实现获取网站的keywords,description的相关资料,需要的朋友可以参考下2015-03-03


最新评论