目录- 1.设计一个转换器
- 2.在Feign类上
- 3.在Feign定义得方法中
- 4.总结
当不想用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.总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。
您可能感兴趣的文章:- 关于feign对x-www-form-urlencode类型的encode和decode问题
- Spring Cloud使用Feign实现Form表单提交的示例
- SpringBoot项目通过Feign调用三方接口的详细教程
- feign调用第三方接口,编码定义GBK,响应中文乱码处理方式
- springboot中如何使用openfeign进行接口调用
- java异步调用Feign接口空指针问题解决
|