我正在尝试使用Faign client上传多个多部分文件,但我无法这样做。
经过一些研究,文件上传使用Faign-多部分/表单数据
文件上传spring云虚拟客户端
数组Multipart[]文件上传使用FIGN客户端
客户端:
@FeignClient(name = "file-server", configuration = {FileUploadService.MultipartSupportConfig.class})
@RequestMapping
public interface FileUploadService {
@RequestMapping(value = "/upload", method = RequestMethod.POST, consumes = MULTIPART_FORM_DATA_VALUE)
public @ResponseBody
List<FileUploadResponseDTO> handleFileUpload(@RequestPart(name = "file") MultipartFile[] file);
@Configuration
public class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
@Primary
@Scope("prototype")
public Encoder feignEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
我正在尝试访问的模块:
@PostMapping(value = "/upload", consumes = MULTIPART_FORM_DATA_VALUE)
@ApiOperation(UPLOAD_FILE)
public List<FileUploadResponseDTO> uploadFiles(@RequestPart(name = "file") MultipartFile[] file){
System.out.println("****hello ****");
return fileUploadService.uploadFiles(file);
}
上面的工程罚款为一个单一的Multipart文件,但它显示以下错误为多个文件:
Servlet.service()为servlet[调度Servlet]在上下文中与路径[]抛出异常[请求处理失败;嵌套异常是feign.codec.EncodeExcture:无法写入请求:没有找到适合的HttpMessageConzer请求类型[[Lorg.springframework.web.multipart.MultipartFile;]和内容类型[Multipart/form-data]]具有根本原因feign.codec.EncodeExcture:无法写入请求:没有找到适合请求类型[[Lorg.springframework.web.multipart.MultipartFile;]和内容类型[Multipart/form-data]
您应该在外部配置期间设置编码器:
public class FeignSimpleEncoderConfig {
@Bean
public Encoder encoder() {
return new FormEncoder();
}
}
我在spring boot中编写了一个restful web服务来接收文件。 如何将文件从客户端java代码上传到web服务。而不是AJAX调用或HTML页面表单多部分请求? 下面的代码使用JSON对象调用web服务。像这样,我想在上面写的web服务中接收文件。
文件的内容类型被生成为'application/octet-stream',我希望它是'application/xml',如何设置文件的内容类型?
null 或者所有微服务都应该从一个特殊的身份和访问API获得用户的身份,该API将基于访问令牌公开用户?
问题内容: 我正在实现Web服务的客户端(维护Web服务的家伙反应迟钝。。)我使用axis和WSDL2Java生成Java类,并且可以在身份验证服务上调用其登录方法好的,然后获取sessionId(例如z4zojhiqkw40lj55kgtn1oya)。但是,似乎我无法在任何地方将此sessionId用作参数。甚至在登录后直接调用其hasSession()方法也会返回false。我设法通过在此服务
如果我们使用spring boot构建所有微服务,那么可以使用Eureka服务器(@EnableEurekaServer)发现所有微服务(@EnableEurekaClient)。如果某些微服务是使用其他技术构建的,那么在云(PCF、AWS等)中如何实现发现、负载平衡、反向代理(网关)? 我在网上读了很多关于微服务的博客,我没有得到适当的信息。
这里有很多链接建议使用多部分/表单数据,以及如何在这里上传文件。对于通过CURL命令上载的多个文件的组合,以及接受FormDataMultiPart的REST服务,无法真正找到一个。 当前正在使用的代码如下所示: 我尝试调用该服务的CURL是: 卷曲-X柱“http://localhost:37200/api/sample-批量“-H”接受:应用程序/json“-H”内容类型:多部分/表单数据“-