Spring RestTemplate形成无效的标题

时间:2017-03-10 13:11:49

标签: tcpdump rest-client spring-rest

在我的REST应用程序中,代码就在那里:

ResponseEntity<字符串> entity = restTemplate.exchange(uri,                     method,httpEntity,String.class);

uri是正确的,方法是HttpMethod.GET,httpEntity是null。

在获取TCP转储后,我得到了: E..E%@ ... PC 。一个。 .A | ...铂| YX ...ü.....一..... c + .t $ Je.GET / {uri} HTTP / 1.1

05:57:34.986440 IP(tos 0x0,ttl 255,id 37158,偏移0,标志[DF],原型TCP(6),长度8244)    {hostname}> {targetIp}:Flags [P.],seq 274:8466,ack 1,win 211,options [nop,nop,TS val 1663813748 ecr 608855467],length 8192 E. 4.& @ ... 1s 。一个。 .A | ...的Pt |紫...ü.....第....

c + .t $ Je.Accept:text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain, text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain, text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,text / plain, text / plain,text / plain,text / plain,text / plain,text / plain,text / plain,te

05:57:34.986451 IP(tos 0x0,ttl 255,id 37159,偏移0,标志[DF],原型TCP(6),长度658)

看起来text / plain会在一段时间后附加,并从单次出现增加到多次直到Accept:标题长度限制

Jar:spring-web-4.3.2.RELEASE.jar

我在这方面获得了400个地位。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

为我的问题找到了解决方案。它类似于 Spring Boot singleton RestTemplate Accept Header keeps being appended to

在代码之后的其他地方 restTemplate.getMessageConverters()。add(0,new StringHttpMessageConverter(Charset.forName(" UTF-8")));

其中restTemplate是自动装配的,因此标头已损坏。