【问题标题】:Mapping restful ajax requests to spring将restful ajax请求映射到spring
【发布时间】:2011-02-19 05:09:05
【问题描述】:

我有这段代码:

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

输入状态报告

消息

说明该请求所标识的资源只能根据请求的“accept” headers()生成具有不可接受的特征的响应

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

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

我做错了什么?

【问题讨论】:

标签: java ajax spring spring-mvc rest


【解决方案1】:

@RequestBody/@ResponseBody 注解不使用普通视图解析器,它们使用自己的HttpMessageConverters。为了使用这些注解,您应该在AnnotationMethodHandlerAdapter 中配置这些转换器,如the reference 中所述(您可能需要MappingJacksonHttpMessageConverter)。

【讨论】:

  • 嗯,在什么情况下我应该考虑这种方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 2023-03-09
  • 2018-11-12
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多