Java spring mvc rest端点能否映射到2个不同的URL,如/users.json和/users.xml?
我正在创建一个java rest端点,并使用Ruby使用它 在ruby/rails世界中,使用活动资源,URL可以是:Java spring mvc rest端点能否映射到2个不同的URL,如/users.json和/users.xml?,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,我正在创建一个java rest端点,并使用Ruby使用它 在ruby/rails世界中,使用活动资源,URL可以是: /users.json 或 当前我的控制器方法如下所示: @ResponseBody @RequestMapping(value = "/users.json", method = RequestMethod.GET) public String list(HttpServletRequest request, HttpServletResponse response) {
/users.json
或
当前我的控制器方法如下所示:
@ResponseBody
@RequestMapping(value = "/users.json", method = RequestMethod.GET)
public String list(HttpServletRequest request, HttpServletResponse response) {
}
我不想为了映射到扩展名为.xml的url而重复此方法
我可以同时使用这两个URL吗?
我还必须将内容类型设置为json或xml
我知道另一种方法是spring查看请求头,然后返回json或xml,但我似乎在模仿rails的工作方式,我需要有users.json或users.xml(基于url结构,而不是请求头)。是的,这在spring的
ContentNegotingViewResolver
中是可能的。请参阅此操作日志:使用@ResponseBody时,您将绕过contentnegotingviewresolver
让您的url为/users,而不是/users.json或/users.xml,并将requestheaders中的Accept标头设置为所需的mediatype,框架将选择适当的messageconverter并为您执行此任务。
注意:messageconverter应该出现在类路径中
希望这有帮助
@ResponseBody
@RequestMapping(value = "/users.json", method = RequestMethod.GET)
public String list(HttpServletRequest request, HttpServletResponse response) {
}