我有一个运行良好的 Spring Controller :
@RestController
@RequestMapping(value = "/widgets")
class WidgetController {
@RequestMapping(method = RequestMethod.POST)
WidgetResponse createWidget(@Valid @RequestBody Widget widget) {
// ...
}
}
在这里我可以 POST JSON 消息并创建我的小部件实例:
{
"name" : "Widget1",
"type" : "spinning",
"isFizz" : true
}
我希望这个端点也像这样接受和反序列化 XML 小部件:
<widget name="Widget1">
<type>spinning</type>
<isFizz>false</isFizz>
</widget>
我想弄清楚:
- 如何让端点接受 JSON 和 XML 数据,并正确反序列化它们;和
- 如何根据架构验证任何 XML,例如
widgets.xsd
有什么想法吗?
最佳答案
带注解@RequestMapping
的参数consumes
@RequestMapping(value = "/widgets",consumes={MediaType.APPLICATION_JSON_VALUE,MediaType.APPLICATION_XML_VALUE})
WidgetResponse createWidget(@Valid @RequestBody Widget widget){
///
{
参数consumes接受一个MediaType数组
关于xml - Spring RestController 如何同时接受 JSON 和 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44597140/