将restful 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的请求并返回Variavel []的JSON表示,但是当我提出这样的请求时,我得到:
HTTP状态406 –
类型状态报告
信息
description此请求标识的资源只能根据请求“accept”标题生成具有不可接受特征的响应()
通过使用以下函数,我可以得到预期的json:
@RequestMapping(value = "/teste.json") public void testeJson(Model model, @RequestParam String tipo) { model.addAttribute("data", Variavel.getListVariavelByTipo("H")); }
我做错了什么?
@RequestBody
/ @ResponseBody
注释不使用普通视图解析器,它们使用自己的HttpMessageConverter
。 为了使用这些注释,您应该在AnnotationMethodHandlerAdapter
配置这些转换器,如引用中所述 (您可能需要MappingJacksonHttpMessageConverter
)。