Одно приложение стучится в другое и получает REST-ответ в виде JSON.
String string = mockMvc.perform(get("/health/activity/index/all"))
.andDo(print())
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
Через контроллер:
@RequestMapping(value = "/all", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<AppGenericEntity<Object>> getAll() {
ThisOAuth2RestTemplate restTemplate = templateProvider.create(authUtils.createAuthDetails());
String healthPathActivityIndex = properties.getHealthPathMain().concat(properties
.getHealthPathActivityIndex()) + "/all";
return createEntity(ServiceStatus.create(restTemplate.getForObject(healthPathActivityIndex, Object.class)));
}
В возвращаемом JSON вместо кириллических присутствуют нечитаемые символы:
{"content":[{"id":1000005196,"name":"ТÑениÑовки ÑÑедней ÑÑжеÑÑи 3 Ñаза в неделÑ","index":1.38,"parameters":[1000005326,1000005387]},{"id":1000005197,"name":"ФизиÑеÑÐºÐ°Ñ Ð½Ð°Ð³ÑÑзка оÑÑÑÑÑÑвÑÐµÑ Ð¸Ð»Ð¸ минималÑнаÑ","index":1.2,"parameters":[1000005389]},{"id":1000005198,"name":"ÐнÑенÑивнÑе ÑÑениÑовки 5 Ñаз в неделÑ","index":1.55,"parameters":[1000005265]},{"id":1000005199,"name":"ÐÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð°Ñ Ð½Ð°Ð³ÑÑзка + ÑизиÑеÑÐºÐ°Ñ ÑабоÑа","index":1.9,"parameters":[]},{"id":1000005200,"name":"ÐнÑенÑивнÑе ÑÑениÑовки каждÑй денÑ","index":1.73,"parameters":[1000005450]},{"id":1000005201,"name":"ТÑениÑовки каждÑй денÑ","index":1.64,"parameters":[1000005204,1000005511]},{"id":1000005202,"name":"ТÑениÑовки ÑÑедней ÑÑжеÑÑи 5 Ñаз в неделÑ","index":1.46,"parameters":[]}],"pageable":{"sort":{"unsorted":true,"sorted":false},"pageSize":20,"pageNumber":0,"offset":0,"unpaged":false,"paged":true},"totalPages":1,"totalElements":7,"last":true,"first":true,"numberOfElements":7,"sort":{"unsorted":true,"sorted":false},"size":20,"number":0}
При всём этом, в обычных запросах через Postman всё приходит корректно. Конфигурация конвертеров:
@Bean
public MappingJackson2HttpMessageConverter customJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.setDateFormat(new SimpleDateFormat(Globals.JSON_DATETIME_FORMAT));
jsonConverter.setObjectMapper(objectMapper);
return jsonConverter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(customJackson2HttpMessageConverter());
}
MockMvc конфигурируется следующим образом:
@Before
public void setUp() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
Попробуйте так:
private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter();
static {
CHARACTER_ENCODING_FILTER.setEncoding("UTF-8");
CHARACTER_ENCODING_FILTER.setForceEncoding(true);
}
@PostConstruct
private void postConstruct() {
mockMvc = MockMvcBuilders
.webAppContextSetup(webApplicationContext)
.addFilter(CHARACTER_ENCODING_FILTER)
//.apply(springSecurity())
.build();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
здраствуйте! имеется переменная, так же имеется файл isnotvaluetxt с множеством числовых и буквенных выражений которые недопустимы в переменной...
Пытаюсь написать приложение для построения графиковСкопировал код из примера и все работало
Не могу понять что не так, на локалхосте все ок работает, заливаю на прод и открывается старый код JS, абсолютно не видит нового файлаИ в html ссылка...