0
我有一個允許json發佈請求的快速API。但是,在我的場景中,我的一個API需要接受XML帖子正文,而不是JSON。快遞API JSON和XML POST請求
所以我明確的應用程序設置細使用:
// Init App
var app = express();
// BodyParser Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
這裏是我的崗位API JSON路徑的一個例子:
router.post('/', function(req, res, next) {
defaultPoll.create(req.body, function(err, post) {
if (err) { console.log(err)
} else {res.json(post);
}
});
});
,當我在我的JSON值傳遞例如偉大的工程這是我的POST請求:
{
"milliseconds":"600"
}
但現在我有我想要做一個POST請求的API,但我的POST請求需要被髮送的爲XML。所以這是我的API看起來像:
router.post('/test', function(req, res) {
var body = req
console.log(body)
});
沒什麼複雜的,因爲我沒有得到任何回報。這是我如何做POST請求:
<?xml version="1.0"?>
<methodCall>
<methodName>myMethod</methodName>
<params>
<param>
<value><string>hello</string></value>
</param>
</params>
</methodCall>
但是,我的身體回來了空。任何想法如何我可以解決這個問題?理想情況下,我想採用此XML請求,然後用我選擇的XML進行響應。做這個的最好方式是什麼?
接受請求,轉換成JSON,寫入JSON響應並轉換回XML響應?
任何幫助將不勝感激!
是有可能只是做一個API路線雖然?考慮到我有很多JSON路由,並且只需要這一個XML文檔中的一個 – noDe1
,它看起來像你可以同時擁有兩個,並且express會看到請求的內容類型並使用正確的路由。 https://www.npmjs.com/package/express-xml-bodyparser這是一個猜測,雖然 –
我在我的API中都使用了這兩個解析器,並且都可以工作。 express-xml-bodyparser通過MIME類型檢測內容。 –