Feign默认不支持form-data的接口,如果需要支持其实也不难。只要四步。

第一步:创建一个转换器。

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

第二步:Feign注解中配置对应的转换器

@FeignClient(name = "auth", configuration = FeignMultipartSupportConfig.class)

第三步:参数用对象封装一下

@Data
public class Param {
    private String token;
}

第四步:接口的写法

@PostMapping(value = "/login/byToken", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
Result<JSONObject> login(Param param);

完成!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐