一尘不染

映射宁静的ajax请求到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;
}

据我所知,应该请求一个test.json?tipo = H并返回Variavel []的JSON表示,但是当我发出这样的请求时,我得到了:

HTTP状态406-

类型状态报告

信息

description:此请求标识的资源只能根据请求“接受”标头()生成特性不可接受的响应

通过使用以下功能,我可以获得预期的json:

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

我做错了什么?


阅读 279

收藏
2020-06-01

共1个答案

一尘不染

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

2020-06-01