微服务之feign传递MultipartFile

2022-07-31 09:37:25
  • 引入pom依赖
<dependency><groupId>io.github.openfeign.form</groupId><artifactId>feign-form</artifactId><version>3.8.0</version></dependency><dependency><groupId>io.github.openfeign.form</groupId><artifactId>feign-form-spring</artifactId><version>3.8.0</version></dependency>
  • 编写feign配置类
importfeign.codec.Encoder;importfeign.form.spring.SpringFormEncoder;importorg.springframework.beans.factory.ObjectFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.autoconfigure.http.HttpMessageConverters;importorg.springframework.cloud.openfeign.support.SpringEncoder;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassFeignConfig{@AutowiredprivateObjectFactory<HttpMessageConverters> messageConverters;@BeanpublicEncoderfeignFormEncoder(){returnnewSpringFormEncoder(newSpringEncoder(messageConverters));}}
  • 修改feign接口
packagecom.nado.mallproductclient.feign;importcom.github.pagehelper.PageInfo;importcom.nado.mallframework.common.Const;importcom.nado.mallframework.common.ServerResponse;importcom.nado.mallframework.domain.Category;importcom.nado.mallframework.domain.Product;importcom.nado.mallproductclient.config.FeignConfig;importcom.nado.mallproductclient.feign.impl.ProductFeignImpl;importorg.springframework.cloud.openfeign.FeignClient;importorg.springframework.http.MediaType;importorg.springframework.stereotype.Component;importorg.springframework.web.bind.annotation.*;importorg.springframework.web.multipart.MultipartFile;@FeignClient(value="product-provider", configuration=FeignConfig.class, fallback=ProductFeignImpl.class)@ComponentpublicinterfaceProductFeign{/**
     * feign传递MultipartFile 
     * @param file
     * @param path
     * @return
     */@PostMapping(value="/product/upload",produces={MediaType.APPLICATION_JSON_UTF8_VALUE},consumes=MediaType.MULTIPART_FORM_DATA_VALUE)ServerResponseupload(@RequestPart("upload_file")MultipartFile file,@RequestParam("path")String path);}
  • 然后就可以了
  • 作者:纳呐
  • 原文链接:https://blog.csdn.net/qq_42932499/article/details/117391366
    更新时间:2022-07-31 09:37:25