IT俱乐部 Java 使用Feign调用form-data的接口问题

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

当不想用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.总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/java/17162.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部