2017-01-17 5 views
2

Restify을 사용하여 본문에 XML이 포함 된 POST 요청을 수신하려고합니다.요청 본문에서 구문 분석 XML 복원

나는 server.use(restify.bodyParser())을 사용하여 요청 본문을 구문 분석하지만 요청은 Content-Type: application/xml과 함께 제공되며이를 처리하는 가장 좋은 방법은 아닙니다. 뭔가에 무엇을 해야할지하지 않습니다 bodyParser의 아마 기본 동작 -

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를 어떤 식 으로든 확장하여 application/xml을 수락하고 디코딩 할 수 있습니까? 아니면이를 구현하기 위해 새 플러그인을 만들어야합니까?

답변

1

bodyParser 미들웨어가 xml 본문 데이터를 처리 할 수 ​​없습니다. 그러나 이것을 사용하려면 bodyParser.raw([options]) 또는 bodyParser.text([options])을 사용하고 반환 된 데이터를 xml 파싱 라이브러리에 제공해야합니다.

더 나은 해결책은 xml 본문 데이터가 포함 된 요청을 처리하는 다른 미들웨어를 사용하는 것입니다.

몇 가지 예 :