首页 > 解决方案 > Spring Controller 无法正确读取表单数据字符串 XML

问题描述

我们正在将网上商店与第三方网站集成,然后,客户将产品添加到购物篮中,然后将购物篮作为表单数据提交给网上商店(Content-Type: application/x-www-form-urlencoded)

参见下面的浏览器截图,form-data 属性“configuration”将数据保存为字符串格式的 XML

在此处输入图像描述

Spring 控制器编写如下,用于处理请求,但控制器读取没有标签的 XML,标签名称被替换为空格。

@RequestMapping(value = "/mergebaskets", method = RequestMethod.POST)
public String mergeBasket(@RequestBody MultiValueMap<String, String> formData) {
    String xmlBasket=formData.getFirst("configuration");
        
    LOG.info("000. ########## ORDER CONFIRMATION ########## " +xmlBasket);}

假设请求表单数据发送如下

<xml><DATA><BASKET><PRODUCT><ID>12341</ID><DESCRIPTION>test prodcut 1</DESCRIPTION></PRODUCT><PRODUCT><ID>12342</ID><DESCRIPTION>test prodcut 2</DESCRIPTION></PRODUCT></DATA></xml> 

上面的 Spring 控制器读取和打印如下(没有标签名称,只有值)

12341 test prodcut 1 12342 test prodcut 2

请帮助我们正确读取 XML 字符串。

标签: javaxmlspringpost

解决方案


推荐阅读