91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Feign調用傳輸文件異常的解決方法

發布時間:2021-06-24 10:54:49 來源:億速云 閱讀:551 作者:chen 欄目:開發技術

這篇文章主要介紹“Feign調用傳輸文件異常的解決方法”,在日常操作中,相信很多人在Feign調用傳輸文件異常的解決方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Feign調用傳輸文件異常的解決方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. Current request is not a multipart request

feign接口參數使用 @RequestPart 而非 @RequestParam, 同時需要指定consumes,比如這樣:

@PostMapping(value = "/upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    Result<FileStorage> upload(@RequestPart(value = "file") MultipartFile file);

2. Feign failed and no fallback

這是hystrix導致,關閉feign熔斷,或者延長熔斷的超時時間,我簡單粗暴的直接關了

3.Read timed out executing POST for “xxx”

配置了hystrix還不行,或者延長ribbon的超時時間,參考了Feign超時問題的辦法,簡單來說就是feign經過了ribbonn和hystrix兩級調用,而且都有一個默認的超時時間,延長超時時間就好了

spring:
  servlet:
    context-path: /farm
  application:
    name: farm
  profiles:
    active: dev
  main:
    allow-bean-definition-overriding: true
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:7001/eureka
  instance:
    prefer-ip-address: true
#關閉feign熔斷
feign:
  hystrix:
    enabled: false
#開啟熔斷,關閉熔斷超時或延長調用超時時間
#hystrix:
#  command:
#    default:
#      execution:
#        timeout:
#          enabled: false
#        isolation:
#          thread:
#            timeoutInMilliseconds: 30000
#延長ribbon超時時間
ribbon:
  ReadTimeout: 30000
  ConnectTimeout: 30000

通過Feign上傳文件(踩坑)

引入依賴:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

服務提供者:

@RestController
@RequestMapping("/file")
public interface FileUploadService {
 
    @RequestMapping(value = "/uploadFile", method = RequestMethod.POST, consumes = MULTIPART_FORM_DATA_VALUE)
    CommonResult<String> uploadFile(@RequestPart("file") MultipartFile file,
                                    @RequestParam(value = "containerName", required = false) String containerName
}

具體實現不是重點……根據你的實際情況去完成……

服務調用者:

@RestController
@FeignClient(value = "XXXXXXXX", configuration = FileUploadServiceFeign.ClientConfiguration.class)
@RequestMapping("/file")
public interface FileUploadServiceFeign extends FileUploadService {
     
    /**
     * 配置類
     */
    class ClientConfiguration {
        /**
         * 此處注入的是: ObjectFactory<HttpMessageConverters>
         */
        @Autowired
        private ObjectFactory<HttpMessageConverters> messageConverters;
 
        @Bean
        public Encoder feignEncoder() {
            return new SpringFormEncoder(new SpringEncoder(messageConverters));
        }
    }
}

這樣就行了……

需要注意的是:

在服務調用者那層的MultipartFile的value要跟服務提供者的@RequestPart中的value值一樣。不然它會拋出400異常!!!

Feign調用傳輸文件異常的解決方法

成功案例:

Feign調用傳輸文件異常的解決方法

Feign調用傳輸文件異常的解決方法

到此,關于“Feign調用傳輸文件異常的解決方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遵义县| 南康市| 德庆县| 沂源县| 铅山县| 宁海县| 凤城市| 辛集市| 遵化市| 精河县| 崇义县| 湟中县| 建宁县| 乌苏市| 额济纳旗| 鄯善县| 响水县| 凤冈县| 深州市| 岳西县| 永胜县| 哈密市| 岗巴县| 凤翔县| 特克斯县| 卓资县| 平凉市| 木里| 怀来县| 庄河市| 灯塔市| 东莞市| 马鞍山市| 锦州市| 加查县| 连平县| 溧水县| 日喀则市| 青州市| 安宁市| 乌拉特前旗|