Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 如何使用FaignClient发布字符串_Java_Spring Boot_Spring Cloud - Fatal编程技术网

Java 如何使用FaignClient发布字符串

Java 如何使用FaignClient发布字符串,java,spring-boot,spring-cloud,Java,Spring Boot,Spring Cloud,服务器使用request.getInputStream()获取请求正文 客户端代码: @FeignClient(name="composer-agent") public interface ComposerClient { @RequestMapping(value = "/agent/import_bp", method = RequestMethod.POST) String importBlueprints(String payload); } 但我有一个例外: Cau

服务器使用
request.getInputStream()
获取请求正文

客户端代码:

@FeignClient(name="composer-agent")
public interface ComposerClient {
    @RequestMapping(value = "/agent/import_bp", method = RequestMethod.POST)
    String importBlueprints(String payload);
}
但我有一个例外:

Caused by: feign.FeignException: status 500 reading ComposerClient#importBlueprints(String); content:
{"timestamp":"2017-10-19T06:15:47-0400","status":500,"error":"Internal Server Error","exception":"java.lang.IllegalArgumentException","message":"MIME type may not contain reserved characters"}
    at feign.FeignException.errorStatus(FeignException.java:62)
    at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91)
    at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138)
    at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)
    at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:108)
    at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:301)
    at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:297)
    at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)
    ... 144 common frames omitted
我还尝试设置
consumes=MediaType.APPLICATION\u JSON\u VALUE
或其他值,或添加
@RequestBody
,但我得到了相同的异常

那么我该如何处理这个问题呢?谢谢。

当底层HTTP客户机是Apache HTTP客户机时,这是一个伪装的9.3.0。解决方案是升级
外部httpclient
依赖项。例如:

compile "io.github.openfeign:feign-httpclient:9.5.0"

“状态”:500,“错误”:“内部服务器错误”,“异常”:“java.lang.IllegalArgumentException”,“消息”:“MIME类型不能包含保留字符”
。您的mimetype似乎包含非法字符。所以问题是:您使用的是哪种mimetype(代码中没有显示)?我使用SpringCloud,依赖项是:org.springframework.cloud-springcloud-starter-faign我使用接口创建客户机。有什么建议吗?添加我所记录的依赖项,其版本与cloud starter引入的版本相匹配。如果cloud starter带来的版本存在bug,请升级您的spring cloud版本。Maven有一个显示所有依赖版本的目标来帮助您。我得到了错误。我使用
feign.RequestInterceptor
定义了一个拦截器,并透明地传输所有头。因此,如果请求
内容类型
与@FeighClient中配置的内容类型不同,则会发生异常。