forked from kidgrow-microservices-platform

zhaoxiaohao
2020-06-12 3d33d2edc4f97215ffe1ed5a1c4a901280396ce1
Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev
3 files modified
1 files added
46 ■■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java 23 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java 9 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java 3 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/pom.xml 11 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java
New file
@@ -0,0 +1,23 @@
package com.kidgrow.filecenter.config;
import feign.form.spring.SpringFormEncoder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Scope;
//@Configuration
public class FeignMultipartConfig {
    @Bean
    @Primary
    @Scope("prototype")
    public SpringFormEncoder multipartFormEncoder() {
        return new SpringFormEncoder();
    }
    @Bean
    public feign.Logger.Level multipartLoggerLevel() {
        return feign.Logger.Level.FULL;
    }
}
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
@@ -1,6 +1,7 @@
package com.kidgrow.filecenter.feign;
import com.kidgrow.common.constant.ServiceNameConstants;
import com.kidgrow.filecenter.config.FeignMultipartConfig;
import com.kidgrow.filecenter.feign.fallback.FileServiceFallbackFactory;
import com.kidgrow.filecenter.model.FileInfo;
import org.springframework.cloud.openfeign.FeignClient;
@@ -17,7 +18,7 @@
 * @CreateDate: Created in 2020/2/22 14:33 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 */
@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, configuration = FeignMultipartConfig.class,fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
public interface FileService {
    /**
     * 根据条件查询
@@ -30,6 +31,8 @@
     * 根据条件查询
     * @param file
     */
    @PostMapping(value = "/files-upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    FileInfo feignUpload(MultipartFile file);
    @PostMapping(value = "/files-upload",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    FileInfo feignUpload(@RequestPart("file") MultipartFile file);
}
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
@@ -7,6 +7,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
@@ -29,7 +30,7 @@
                return null;
            }
            @Override
            public FileInfo feignUpload(MultipartFile file) {
            public FileInfo feignUpload(@RequestPart("file") MultipartFile file) {
                return null;
            }
        };
kidgrow-business/kidgrow-filecenter/pom.xml
@@ -21,6 +21,17 @@
    <dependencies>
        <dependency>
            <groupId>io.github.openfeign.form</groupId>
            <artifactId>feign-form</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>io.github.openfeign.form</groupId>
            <artifactId>feign-form-spring</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.kidgrow</groupId>
            <artifactId>kidgrow-common-spring-boot-starter</artifactId>
        </dependency>