您只能为xDomainRequests使用GET和POST。是否有一种方法可以创建一个映射,也可以使用一个可选的param来确定使用哪个way方法?例如,我有:
@RequestMapping(method = RequestMethod.PUT)
@ResponseBody
public SomeObject someUpdateFunction(@RequestBody SomeObject objectToUpdate)
{
...
}
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public SomeObject someCreateFunction(@RequestBody SomeObject objectToUpdate)
{
...
}有什么方法可以将XDR映射到PUT方法吗?我显然不想将POST选项添加到someUpdateFunction()中。
发布于 2013-09-25 16:25:05
O‘’Reilly的书"RESTful where“描述了一种约定,通过查询字符串或请求体将预期的方法包含在"_method”参数中。当您在IE9和更旧版本中处理跨域ajax请求时,只允许GET和POST,这尤其有用。在这种情况下,您将包含一个值为"PUT“的_method参数。
所以,如果你遵循我刚才描述的惯例,也许你可以这样做:
private SomeObject processPut(objectToUpdate)
{
...
}
@RequestMapping(method = RequestMethod.PUT)
@ResponseBody
public SomeObject someUpdateFunction(@RequestBody SomeObject objectToUpdate)
{
return processPut(objectToUpdate);
}
@RequestMapping(method = RequestMethod.POST, params = "_method=PUT")
@ResponseBody
public SomeObject someUpdateFunction(@RequestBody SomeObject objectToUpdate)
{
return processPut(objectToUpdate);
}
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public SomeObject someCreateFunction(@RequestBody SomeObject objectToUpdate)
{
...
}也许在Spring中有更好的方法来实现这一点,因为我对这个框架的经验非常少,但是这个概念应该是成立的。
https://stackoverflow.com/questions/19009533
复制相似问题