Loopback XML body 数据验证错误问题

Loopback XML body data validation error problem

我想通过模型 REST api 接受并保存 XML 数据。当我 select "Parameter content type" 和 "Response Content Type" "application/xml" 或 "text/xml" 时,出现以下验证错误。

   <error>
    <statusCode>422</statusCode>
    <name>ValidationError</name>
    <message>The `testmodel` instance is not valid. 
             Details: `type` can't be blank (value: undefined); 
             `metric` can't be blank (value: undefined); 
             `valid` can't be blank (value: undefined); 
             `registerDate` can't be blank (value: undefined).
    </message>
    .....
   </error>

我的 post 数据是

<testmodel>
    <type>testType</type>
    <metric>testMetric</metric>
    <valid>true</valid>
    <registerDate>Thu Jan 17 2019 10:25:59</registerDate>
</testmodel>

当 selecting Parameter content type" 和 "Response Content Type" as JSON 时有效。

我在 config.json 文件下将 remoting.rest.xml 设置为 true。 XML 的响应没问题,但 post 和 put payload 不会因验证错误而例外。 我还添加了

"parse": {
    "express-xml-bodyparser": {"params": { "limit": "1024kb" }}
},

到 middleware.json 文件,但运气不好。

谢谢

经过一番努力,我找到了解决方案。只需在 middleware.json 文件

中放置或更改以下代码
"parse": {
    "express-xml-bodyparser": {"params": { "explicitArray": false , "explicitRoot":  false}}
},