将restful ajax请求映射到spring

Dio*_*nes 11 java ajax rest spring spring-mvc

我有这段代码:

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

据我所知,它应该接受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"));
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

axt*_*avt 13

@RequestBody/ @ResponseBodyannotations不使用普通视图解析器,它们使用自己的HttpMessageConverters.为了使用这些注释,您应该配置这些转换器AnnotationMethodHandlerAdapter,如参考所述(您可能需要MappingJacksonHttpMessageConverter).