- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我找到了使用 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/
在 .NET 中,字符串是不可变的并且是引用类型变量。这通常会让新的 .NET 开发人员感到惊讶,因为他们的行为可能会将它们误认为是值类型对象。但是,除了使用 StringBuilder 的做法之外用
我一直在寻找 problem of type-erasing a std::packaged_task using std::function 的解决方法. 我想做的是这样的: #include #
如何让机器人假装它正在输入消息? 当机器人假装输入时,聊天中会出现以下文本: 我使用 python aiogram框架,但对 native Telegram API 的建议也会有所帮助。 最佳答案 我
我找到了使用 Feign 上传文件的解决方案,但我的配置产生了另一个问题。我有几个 Feign 客户端,用于从客户端服务使用不同的服务。 现在,当我提交一个简单的表单时,我收到此错误: feign.c
我的网站中包含一个脚本,它读取 url 上的一个变量,例如 www.test.com/?mboxDisable=1 所以我想知道如何在 www.test.com 上伪造它,js 会在那里“思考”是 m
我目前正在使用 Spring Cloud 和 Feign 在我的应用程序中使用微服务。因为它可能发生,数据库连接等在单个服务实例中失败,使其返回 500 HTTP 状态代码,我想确保服务的客户端重试下
当我尝试废弃 this site使用 Phantomjs,默认情况下,Phantomjs 将以下 header 发送到服务器: "name":"User-Agent", "value":"Mozill
我的服务使用了 3 个假客户端。每次启动应用程序时,我都会在第一次调用任何假客户端时收到 TimeoutException。 在一切稳定之前,我必须至少触发每个假客户端一次。在网上查了一下,问题是 f
我想得到一个 Spring Cloud Netflix Feign客户端通过 HTTP 获取一些 JSON 并将其转换为对象。我不断收到此错误: org.springframework.web.cli
我是一名优秀的程序员,十分优秀!