2017-01-17 6 views
2

Используя Restify, мы хотим получить запрос POST с XML в теле.Исправить синтаксический анализ XML в теле запроса

Я использую server.use(restify.bodyParser()) для разбора тела запросов, однако запрос приходит с Content-Type: application/xml, и я не уверен на 100%, что это лучший способ справиться с этим.

myRestifyServer.post('/my/place/to/post/to', function (req, res, next) { 
    var xml = req.body; // ? 
    var myObject = myFavouriteXmlParser(xml) 
// and so on... 
}) 

Однако req.body, кажется, содержит и объект с type собственности и data собственности - предположительно, действие по умолчанию bodyParser, когда он не знает, что делать с чем-то.

Можно ли расширить bodyParser каким-либо образом принять application/xml и декодировать его, или мне нужно создать новый плагин для этого?

ответ

1

Проводник bodyParser не может обрабатывать данные тела xml. Однако, если вы хотите использовать его, вы должны использовать bodyParser.raw([options]) или bodyParser.text([options]) и предоставить возвращаемые данные в XML-синтаксическую библиотеку.

Лучшим решением в вашем случае является использование другого промежуточного программного обеспечения, которое обрабатывает запросы, содержащие данные тела xml.

Некоторые примеры:

 Смежные вопросы

  • Нет связанных вопросов^_^