Картирование успокоительных запросов Ajax к весне - PullRequest
11 голосов
/ 13 мая 2010

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

@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 -

тип Отчет о состоянии

сообщение

описание. Ресурс, указанный в этом запросе, может генерировать ответы только с характеристиками, которые не являются приемлемыми в соответствии с заголовком запроса «принять» ()

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

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

Что я делаю не так?

1 Ответ

13 голосов
/ 13 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...