Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ';车身参数过多';外国客户例外_Java_Spring_Rest_Netflix Feign - Fatal编程技术网

Java ';车身参数过多';外国客户例外

Java ';车身参数过多';外国客户例外,java,spring,rest,netflix-feign,Java,Spring,Rest,Netflix Feign,我正在使用Springs虚拟客户端功能从一个微服务到另一个微服务进行通信 现在,被调用的服务公开了一个REST接口,该接口接受一个文件和一个相关的(JSON)对象 @RequestMapping(value={CONVERT\u PATH,APPLICATION\u PATH+CONVERT\u PATH},method=RequestMethod.POST,products=CONTENT\u TYPE) 公共响应属性转换(@RequestPart(“file”)多部分文件文件,@Reques

我正在使用Springs虚拟客户端功能从一个微服务到另一个微服务进行通信

现在,被调用的服务公开了一个REST接口,该接口接受一个文件和一个相关的(JSON)对象

@RequestMapping(value={CONVERT\u PATH,APPLICATION\u PATH+CONVERT\u PATH},method=RequestMethod.POST,products=CONTENT\u TYPE)
公共响应属性转换(@RequestPart(“file”)多部分文件文件,@RequestParam(“input”)input in){…}
这个接口运行正常,我通过从不同的源向它发送一个有效的多部分/混合实体来验证这一点

然后,在我的另一项服务中,我设置了一个匹配的外部客户端来使用此接口:

@FeignClient("convert")
public interface ConvertClient {
    @RequestMapping(value = CONVERT_PATH, method = RequestMethod.POST, consumes = "multipart/mixed")
    ResponseEntity<InputStreamResource> convert(@RequestPart("file") MultipartFile file, @RequestPart("input") Input in);
}
@FeignClient(“转换”)
公共接口转换客户端{
@RequestMapping(value=CONVERT\u PATH,method=RequestMethod.POST,consumes=“multipart/mixed”)
ResponseEntity转换(@RequestPart(“文件”)多部分文件文件,@RequestPart(“输入”)输入到);
}
同样,从一个服务到另一个服务的连接也在工作,我在外国客户机(不使用多个部分的客户机)中使用不同的请求接口验证了这一点

当我尝试使用此特定接口方法构建(客户机)服务时,出现以下异常:

FactoryBean threw exception on object creation; 
nested exception is java.lang.IllegalStateException: Method has too many Body parameters: 
public abstract org.springframework.http.ResponseEntity <..>.feign.ConvertClient.convert(org.springframework.web.multipart.MultipartFile,<..>.Input)
FactoryBean在创建对象时引发异常;
嵌套异常为java.lang.IllegalStateException:方法的主体参数太多:
公共抽象org.springframework.http.ResponseEntity.feign.ConvertClient.convert(org.springframework.web.multipart.MultipartFile.Input)
我能做些什么来让这一切顺利吗? 正如我所说的,可以访问REST接口,并且不同的外部调用正在工作。如果我没弄错的话,这应该行得通。
Springs-Feign是否不支持多部分/mixed for-Feign接口?

我刚刚发布了一个自定义的Feign编码器,可以对多部分请求(一个或多个文件,以及json部分)进行编码。你可以试试。让我知道如果有其他用例可以实现,请随时打开问题

FactoryBean threw exception on object creation; 
nested exception is java.lang.IllegalStateException: Method has too many Body parameters: 
public abstract org.springframework.http.ResponseEntity <..>.feign.ConvertClient.convert(org.springframework.web.multipart.MultipartFile,<..>.Input)