Spring mvc Spring MVC@RequestMapping头只能接受一个值?
这将有助于:Spring mvc Spring MVC@RequestMapping头只能接受一个值?,spring-mvc,http-headers,content-type,Spring Mvc,Http Headers,Content Type,这将有助于: @RequestMapping(value = "/test", method = RequestMethod.POST, headers = {"content-type=application/json"}) { ....... } 如果我像下面那样向它添加另一个值,那么它将失败并告诉我: 请求的资源不允许使用指定的HTTP方法 (不支持请求方法“POST”) 我猜这是因为Spring认为这两个内容类型值有“和”的关系,但我希望它们是“或” 有什么建议吗 谢
@RequestMapping(value = "/test", method = RequestMethod.POST,
headers = {"content-type=application/json"}) {
.......
}
如果我像下面那样向它添加另一个值,那么它将失败并告诉我:
请求的资源不允许使用指定的HTTP方法
(不支持请求方法“POST”)
我猜这是因为Spring认为这两个内容类型值有“和”的关系,但我希望它们是“或” 有什么建议吗
谢谢 您是否尝试过执行
content-type=application/json、application/xml
不确定它是否会起作用,但在那里放两个内容类型标题,我想只有一个会赢
或
如果您使用的是Spring 3.1.x,则可以在同一方法上使用两个RequestMapping
注释,并使用不同的内容类型
标题?。您可以查看使用消费,生成@RequestMapping注释的属性。以下是关于改进的Spring博客帖子:
上面文档中的代码片段:
@RequestMapping(value="/pets", headers="Content-Type=application/json")
public void addPet(@RequestBody Pet pet, Model model) {
// ...
}
替换为:
@RequestMapping(value="/pets", consumes="application/json")
public void addPet(@RequestBody Pet pet, Model model) {
// ...
}
此外,如果您需要多种介质类型。您可以执行以下操作:
produces={"application/json", "application/xml"}
consumes={"application/json", "application/xml"}
“content type=application/json,application/xml”成功了!谢谢@dave G Method只接受了一个@RequestMapping
,我在这里有一个疑问-当我编写products=“application/xml”
时,它仍然给出了错误406。但是如果write生成=“application/xml”,headers={“Content Type=application/xml”}
,那么一切都可以正常工作。所以我的问题是,为什么生成的不足以返回XML响应,而需要标题来完成任务。
produces={"application/json", "application/xml"}
consumes={"application/json", "application/xml"}