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

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

Похожие вопросы