Подтвердить что ты не робот

Сопоставление ненадежных запросов ajax с spring

У меня есть эта часть кода:

@RequestMapping(value = "/test.json", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody Object[] generateFile(@RequestParam String tipo) {
    Object[] variaveis = Variavel.getListVariavelByTipo(tipo);
    return variaveis;
}

Насколько я знаю, он должен выполнить запрос test.json? tipo = H и вернуть JSON-представление Variavel [], однако, когда я делаю такой запрос, я получаю:

Состояние HTTP 406 -

введите отчет о состоянии

сообщение

description Ресурс, идентифицированный этим запросом, способен генерировать ответы с характеристиками, неприемлемыми в соответствии с запросом "принять" заголовки()

Используя следующую функцию, я могу получить ожидаемый json:

@RequestMapping(value = "/teste.json")
public void testeJson(Model model, @RequestParam String tipo) {
    model.addAttribute("data", Variavel.getListVariavelByTipo("H"));
}

Что я делаю неправильно?

4b9b3361

Ответ 1

@RequestBody/@ResponseBody В аннотациях не используются обычные разрешения представления, они используют свои собственные HttpMessageConverter s. Чтобы использовать эти аннотации, вы должны сконфигурировать эти конвертеры в AnnotationMethodHandlerAdapter, как описано в ссылка (вам, вероятно, понадобится MappingJacksonHttpMessageConverter).