看到将JSON RequestBody绑定到POJO是很常见的,如下所示:
@RequestMapping(value="/users", headers="Accept=application/json",method=RequestMethod.POST)
public void create(@RequestBody CustomerInfo customerInfo){
...
}
是否可以将@RequestBody绑定到非POJO,但可以绑定到其他数据类型,例如原始和非原始数据类型?
例如:
@RequestMapping(value="/users", headers="Accept=application/json",method=RequestMethod.POST)
public void create(@RequestBody Set<Integer> ids){
...
}
最佳答案
对的,这是可能的。
根据您的示例,
public void create(@RequestBody Set<Integer> ids){
...
}
它会收到像
[1,2,3]
这样的东西,因为请求正文完全正确。再举一个原始的例子
public void create(@RequestBody int id) {
...
}
它会收到像
1
这样的东西,因为请求正文完全正确。但是,对于后一个示例,我不会说它是
application/json
。关于java - Spring将@RequestBody绑定(bind)到其他数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42289685/