HttpMediaTypeNotSupportedException в сообщении mockmvc

У меня есть RestController и функция, которая принимает почтовые запросы.

@RequestMapping(path = "/auth",method = RequestMethod.POST)
public void authenticate(@RequestBody AuthenticationRequest authenticationRequest, HttpServletResponse httpServletResponse) throws  IOException {
}

Я пытаюсь оформить почтовый запрос

mockMvc.perform(post("/auth")
                    .contentType(MediaType.APPLICATION_JSON)
                    .content("{ \"foo\": \"bar\", \"fruit\": \"apple\" }".getBytes()))
            .andDo(print());

я получаю

Resolved Exception:
         Type = org.springframework.web.HttpMediaTypeNotSupportedException

Любые идеи обходного пути?

Изменить: я также пытался указать в контроллере потребление = "приложение/json", но все равно не работает.


person gkatzioura    schedule 01.09.2016    source источник


Ответы (1)


Исключение говорит, что «тип носителя», также известный как «тип контента», не принимается.

Попробуйте добавить consumes = "application/json" в функцию вашего контроллера.

@RequestMapping(path = "/auth",method = RequestMethod.POST,consumes = "application/json")
public void authenticate(@RequestBody AuthenticationRequest authenticationRequest, HttpServletResponse httpServletResponse) throws  IOException {
}

Подробнее см. в документации Spring https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html#consumes--

person Benjamin Peter    schedule 01.09.2016
comment
Может быть, вы можете предоставить все исключение с дополнительным контекстом? - person Benjamin Peter; 02.09.2016