Spring-Boot отключить кодирование передачи из заголовка ответа - PullRequest
0 голосов
/ 01 мая 2018

Постановка проблемы - простой сервис RESTful в Spring-Boot (2.0.1.RELEASE и встроенный Tomcat Server) возвращает ответ, например,

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 01 May 2018 00:33:04 GMT

7d
{the-json-response-anticipated}
0

После поиска нашел, что это вызвано заголовком Transfer-Encoding: chunked. Пробовал установить следующее в application.properties

spring.http.encoding.force=false
spring.http.encoding.enabled=false

Но без толку. Есть ли способ отключить то же самое?
Должен ли я написать явный код для формирования заголовка с параметром, установленным как false, и установить его в заголовок ответа?

1 Ответ

0 голосов
/ 01 мая 2018

Этого можно достичь, явно добавив заголовок HttpHeaders.CONTENT_LENGTH, как показано ниже:

Пример:

@RequestMapping(value = "/contacts", method = RequestMethod.POST)
public Map<String, ContactInfo> addContactInfo(
                            @RequestBody Map<String, ContactInfo> ContactInfoDto,    
                            @RequestHeader(value = HttpHeaders.CONTENT_LENGTH, required = true) Long contentLength)
{ 
    ... 
}

Возможно, вы захотите пройти этот ответ на SO для получения более подробной информации.

Надеюсь, это поможет!

...