- 其他沒有使用body傳數據的接口都沒問題,但是使用設備接口有問題,因爲STF的代理Body傳參數有問題
- 解決的代碼也是改爲傳參數來解決。
- 文件地址: lib/units/api/index.js
// Adding options in request, so that swagger controller
// can use it.
app.use(function(req, res, next) {
var reqOptions = _.merge(options, {
push: push
, sub: sub
, channelRouter: channelRouter
})
req.options = reqOptions
log.info('api use uri -- =', req.url)
if (req.url.indexOf('/api/v1/user/devices') !== -1) {
var parseObj = url.parse(req.url, true)
log.info('query', parseObj.query)
if (parseObj.query.serial && !req.body) {
req.body = {}
req.body.serial = parseObj.query.serial
}
}
log.info('api body =', req.body)
next()
})
- 爲什麼這麼寫,因爲原生的前端的body可以傳過來,我在公司項目傳過來的數據不能到達
lib/units/api/controllers/user.js#addUserDevice
方法裏面,因此寫了這個兼容的方法以此解決