2017-10-19 22 views
1

サーバーはrequest.getInputStream()を使用してリクエスト本文を取得します。FeignClientで文字列を投稿する方法

クライアントコード:

@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_JSON_VALUEまたは他の値を設定し、または@RequestBodyを追加しようとするが、私は同じ例外を取得します。

どうすればこの問題に対処できますか?ありがとう。

+0

' "ステータス":500、 "エラー": "内部サーバーエラー"、 "例外": "java.lang.IllegalArgumentExceptionが"、 "メッセージ":" MIMEタイプは予約文字を含めることはできません"。あなたのmimetypeには不正な文字が含まれているようです。だから問題は:どのmimetypeを使用していますか(コードには表示されていません)? –

答えて

0

基本HTTPクライアントがApache HTTPクライアントの場合、これはFeign 9.3.0のknown bugです。解決策は、feign-httpclientの依存関係をアップグレードすることです。たとえば、次のように

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

私は春・クラウドを使用し、依存関係は次のとおりです。 \t org.springframework.cloud \t cheney

+0

をバネ - クラウドスターター装う私はインターフェイスを使用してクライアントを作成します。なにか提案を? – cheney

+0

クラウドスターターによってもたらされたものと一致するバージョンで文書化された依存関係を追加します。クラウドスターターが持ってきたバージョンにバグがある場合は、バーンクラウドのバージョンをアップグレードしてください。 Mavenには、すべての依存バージョンを表示するターゲットがあります。 –

関連する問題