小编典典

将宁静的ajax请求映射到spring

ajax

我有这段代码:

@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"));
}

我做错了什么?


阅读 252

收藏
2020-07-26

共1个答案

小编典典

@RequestBody/
@ResponseBody注释不使用常规视图解析器,而是使用自己HttpMessageConverter的。为了使用这些注释,您应该按照参考资料中的AnnotationMethodHandlerAdapter描述在中配置这些转换器(可能需要)。MappingJacksonHttpMessageConverter

2020-07-26