compilator
@compilator
Senior Data Engineer

Тестирование Spring REST контроллера. Как отключить форвардинг запроса?

Приветствую. Пишу тест для рест контроллера, помеченного аннотацией @RestController.
В тесте проверяю, чтобы вернулся JSON
mockMvc.perform(get(URI).accept(MediaType.APPLICATION_JSON))
                    .andExpect(status().isOk())
                    //.andExpect(content().contentType(MediaType.APPLICATION_JSON))
                    .andDo(print());

Подгружаю бины с помощью джава конфига который extends WebMvcConfigurationSupport, тем самым подтягиваются бины, отвечающие за сериализацию json и xml.
В итоге получаю пустой респонс с 200 кодом, и моя урла указана в параметре Forwarded URL.

Полагаю, форвард запроса происходит после того как отработал контроллер для поиска подходящей вью. Но разве это должно так отрабатывать в случае с @RestController ? Я ожидаю, что мне вернется двухсотый респонс с джейсоном в боди.
Что я делаю не так ?
Подробный код выложить не могу, извините.
  • Вопрос задан
  • 854 просмотра
Решения вопроса 1
compilator
@compilator Автор вопроса
Senior Data Engineer
Ответ найден. Транзитивно прилетела старая версия либы spring-webmvc 3.2.4 со старым WebMvcConfigurationSupport, в котором не поднимаются необходимые бины, в том числе нужный мне резолвер.
Исключил эту либу из зависимостей. Все ок!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы