MockMvc: изменение кодировки символов по умолчанию для MockHttpServletResponse с ISO-8859-1 на UTF-8 - PullRequest
0 голосов
/ 20 июня 2019

Во время написания Spring Itegration Tests у меня была проблема с тем, что MockMvc игнорировал мои

.accept(MediaType.APPLICATION_JSON_UTF8) 

, и вернул ISO-8859-1 с плохо выглядящим умлаутом.

Каков наилучший способ установить кодировку MockMvc по умолчанию в UTF-8?

1 Ответ

0 голосов
/ 20 июня 2019

Я красный, что при весенней загрузке следующие настройки помогут.

spring.http.encoding.force=true

В моем случае, когда установка немного особенная, это не .

Что работает для моей настройки добавляет фильтр в настройку MockMvc.

@Before
  public void setUp() {
    mockMvc = MockMvcBuilders
        .webAppContextSetup(webApplicationContext)
        .addFilter((request, response, chain) -> {
          response.setCharacterEncoding("UTF-8"); // this is crucial
          chain.doFilter(request, response);
        }, "/*")
        .build();
  }

Надеюсь, что это кому-то поможет и сэкономит несколько часов проб и ошибок.

...