搜索了大量网站甚至堆栈溢出但未找到解决此问题的方法。看起来很多人都遇到过这个问题,但似乎缺少一个统一的解决方案,包含了所有方面。已经花了1.5天就可以了。
我看到该方法已被调用但某处@ResponseBody
未正确翻译。有人可以看看,让我知道问题是什么。我已经在github上载了代码。 Link to source code on github
@RequestMapping(value = "/find_user", method = RequestMethod.GET)
public @ResponseBody List<String> findUser(@RequestParam("term") String name) {
log.info("Search string for user name: " + name);
List<String> users = new ArrayList<String>();
users.add("Sam");
users.add("Dan");
return users;
}
下面的浏览器屏幕显示406响应
请注意:啊!多么痛苦此设置适用于Spring 3.1.4,而不适用于3.2.X
答案 0 :(得分:5)
答案 1 :(得分:2)
我也遇到了同样的问题。调试Spring后,我发现ServletPathExtensionContentNegotiationStrategy
尝试根据URL中的扩展名确定媒体类型。 (可能是因为在我的案例中,它无法推断出应该从包含Accept
的{{1}}标题中返回哪种媒体类型。)
因此,解决此问题的方法之一是通过将*/*
替换为.html
来重命名地图中的网址。