- 其他没有使用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
方法里面,因此写了这个兼容的方法以此解决