gpt4 book ai didi

java - 假装 : file upload configuration

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:29 25 4
gpt4 key购买 nike

我找到了使用 Feign 上传文件的解决方案,但我的配置产生了另一个问题。我有几个 Feign 客户端,用于从客户端服务使用不同的服务。

现在,当我提交一个简单的表单时,我收到此错误:

feign.codec.EncodeException: class java.util.ArrayList is not a type supported by this encoder

之前我的配置工作得很好,但现在不行了,我不知道为什么。

@Component
@RestController
@FeignClient(name = "zuul-server"
,configuration = {ProxyImages.MultipartSupportConfig.class})
@RibbonClient(name = "oauth2-server")
public interface ProxyImages {

class MultipartSupportConfig {
@Bean
@Primary
@Scope("prototype")
public Encoder feignFormEncoder() {
return new SpringFormEncoder();
}
}

@RequestMapping(value = {"oauth2-server/auth/user/avatar"}, consumes = {"multipart/form-data"})
ResponseEntity<String> saveUserAvatar(@RequestPart(name = "file") MultipartFile file);$

}

我不知道为什么不再考虑 MultipartSupportConfig 类。所以我在MultipartSupportConfig类中添加了@configuration注解

  @Configuration
class MultipartSupportConfig

它又可以工作了,但现在看来这个编码器总是被使用,我只想将它用于该代理。我怎样才能做到这一点?

这是我使用的依赖项

  <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.M8</spring-cloud.version>
<joinfaces.version>3.2.4</joinfaces.version>

</properties>

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

<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.3.0</version>
</dependency>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

谢谢。

最佳答案

问题已解决。

@RestController
@FeignClient(name = "zuul-server")
public interface ProxyImages {

@Configuration
class MultipartSupportConfig {

@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;

@Bean
@Primary
@Scope("prototype")
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}

@RequestMapping(value = {"oauth2-server/auth/user/avatar"}, consumes = {"multipart/form-data"})
ResponseEntity<String> saveUserAvatar(@RequestPart(name = "file") MultipartFile file);
}

关于java - 假装 : file upload configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com