最近、バージョン 2.0.0 からアップグレードしたところ、 Content-Typeをspring-cloud-starter-openfeign: 2.2.2
使用する REST API を呼び出したときに次の例外が発生しました。consumes
@RequestHeader
feign.FeignException$UnsupportedMediaType: [415] during [POST] to [http://localhost:8080/test]
[TestFeign#test(TestRequest,String)]: [{"timestamp":"2021-01-03T13:13:58.192+0000",
"status":415,"error":"Unsupported Media Type",
"message":"Invalid mime type \"application/json, application/json\":
Invalid token character ',' in token \"json, application/json\"","path":"/test"}]
Feign インターフェイスは次のように定義されています。
@RequestMapping(value = "/test",method = RequestMethod.POST,consumes= {"application/json"},
produces={"application/json"})
void test(@RequestBody TestRequest request,@RequestHeader("Content-Type") String contentType);
調査したところ、この場合、両方の値が次のように連結されていることがわかりました。
Content-Type: "application/json, application/json"
この問題を使用する場合spring-cloud-starter-openfeign:2.0.0
は発生しません。