2017-04-11 51 views
0

我有一個簡單的Node JS應用程序,它允許通過POSTMAN將請求發送到我的Node API。這是該請求是什麼樣子(要求必須是XML):使用節點j驗證XML API請求

<?xml version="1.0" encoding="UTF-8"?> 
<myOrders> 
    <myOrderData> 
     <people>5</people> 
     <language>5</language> 
     <customers> 
     <customer_id>15</customer_id> 
     </customers> 
    </myOrderData> 
</myOrders> 

在我的節點JS的程序,到目前爲止,我沒有做任何要求,因爲我需要驗證上述請求包括以下字段:myOrders,myOrderData,人物,語言,客戶CUSTOMER_ID

router.post('/myorder', function(req, res, next) { 
    console.log('body testing', req.body) 
} 

上面打印出:{ myorders: { myorderdata: [ [Object] ] } }

有沒有辦法繼續,並且拋出一個錯誤,如果上述領域並非之前,我可以驗證這一點存在於請求中ST?任何幫助將不勝感激。

注:驗證需要節點JS API調用內發生,而不是其他任何地方都

回答

0

您好我會建議this庫在req.body與快速解析XML

然後你就可以訪問到XML對象,就像它是一個JSON。

+0

我知道我不能這樣做,但是仍然允許用戶在XML正文中輸入任何內容嗎? – deeveeABC

+0

是的,因爲XML是填充表單的數據。我不明白你想要什麼。你想驗證數據_before_到XML到? XML是發送信息的方式。好吧,也許你正在考慮指定輸入文本和其他東西的長度的XML命名空間,這是正確的嗎? – Andoni