Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring mvc rest端点能否映射到2个不同的URL,如/users.json和/users.xml?_Java_Spring_Rest_Spring Mvc - Fatal编程技术网

Java spring mvc rest端点能否映射到2个不同的URL,如/users.json和/users.xml?

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) {

我正在创建一个java rest端点,并使用Ruby使用它

在ruby/rails世界中,使用活动资源,URL可以是:

/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) {

}