打开 Feign java.lang.NoSuchFieldError: MULTIPART_RELATED 错误

问题描述 投票:0回答:3

我想用 Feign 上传文件,如下所示:

    @FeignClient(name = "GDC", url = "${gdc.url}", configuration = ApiConfig.class)
    public interface GDCClient {
        @RequestMapping(method = RequestMethod.POST, value = "/v1/document", consumes 
        ="multipart/form-data")
        Response saveDocument(@RequestPart(value = "file") MultipartFile fileSaveDocumentDTO, 
        @RequestPart(value = "document") SaveDocumentDTO saveDocumentDTO);
    }

但是当我调用 saveDocument 时出现此错误:

*java.lang.NoSuchFieldError: MULTIPART_RELATED
    at org.springframework.cloud.openfeign.support.SpringEncoder.isMultipartType(SpringEncoder.java:227) ~[spring-cloud-openfeign-core-2.2.8.RELEASE.jar:2.2.8.RELEASE]
    at org.springframework.cloud.openfeign.support.SpringEncoder.encode(SpringEncoder.java:102) ~[spring-cloud-openfeign-core-2.2.8.RELEASE.jar:2.2.8.RELEASE]
    at org.springframework.cloud.openfeign.support.PageableSpringEncoder.encode(PageableSpringEncoder.java:101) ~[spring-cloud-openfeign-core-2.2.8.RELEASE.jar:2.2.8.RELEASE]*

有人可以帮助我吗? :)

java file upload feign openfeign
3个回答
0
投票

OpenFeign 依赖类

org.springframework.cloud.openfeign.support.SpringEncoder
包含来自
MULTIPART_RELATED
的常量
org.springframework.http.MediaType
org.springframework.cloud:spring-cloud-starter-openfeign:2.2.8.RELEASE
和上面的版本在 SpringEncoder 类中包含这个
MULTIPART_RELATED
。我正在使用 2.2.7.RELEASE


0
投票

问题在于 openfeign lib 版本与 spring-web lib 版本不兼容,因此找不到 org.springframework.http 包的 MediaType 类中应有的 MediaType.MULTIPART_RELATED 常量。

要解决该问题,请使用与您的 spring-web 库兼容的 openfeign 库版本。


-1
投票

升级spring版本至少5.2.5

© www.soinside.com 2019 - 2024. All rights reserved.