Я только что создал простой REST API, используя Express.js, но экспресс возвращает ненужные данные.
Вот данные ответа:
{
"code": 200,
"status": "success",
"message": "Success",
"device_code": "2F1E6DB930",
"data": [
{
"_id": "5d84801cd3906f1e5cbec0c4"
},
{
"_id": "5d848032d3906f1e5cbec0c6"
},
{
"_id": "5d8480bbd3906f1e5cbec0ca"
}
]
}
Объект "data"не нужен, потому что я не возвращал его в своем коде
exports.register = async (req, res) => {
if (utils.checkBody(req.body, utils.authBody)) {
let User = services.db.collection('users')
let deviceCode = Math.random().toString(16).substr(2, 10).toUpperCase()
await User.insertOne({
username: req.body.username,
password: md5(req.body.password + process.env.SECRET_KEY),
kode_device: deviceCode
})
response = Object.assign(utils.requestResponse.success, { device_code: deviceCode })
} else {
response = utils.requestResponse.incomplete_body
}
res.status(response.code).json(response)
}
// request response success
const requestResponse = {
success: {
code: 200,
status: 'success',
message: 'Success'
}
}
Единственный объект «data», к которому я вернулся, находится в другой конечной точке (скажем, «show data»), и вот код
exports.show = async (req, res) => {
if (req.params.device_code) {
let General = services.db.collection(req.params.device_code)
let query = undefined
if (req.query.last_id === undefined || req.query.last_id === '') {
query = {}
} else {
query = { _id: { '$gt': ObjectId(req.query.last_id) } }
}
let data = await General.find(query).limit(10).toArray()
response = Object.assign(utils.requestResponse.success, { data: data })
} else {
response = utils.requestResponse.incomplete_body
}
res.status(response.code).json(response)
}
Я создал скрипт для кластеризации кода сервера приложений и запуска через nodemon
require('dotenv').config()
const cluster = require('cluster')
const AppServer = require('./app')
if (cluster.isMaster) {
let cpuCount = require('os').cpus().length
for (let i = 0; i < cpuCount; i += 1) {
cluster.fork()
}
} else {
console.log(`Server is running on ${process.env.PORT}`)
AppServer.listen(process.env.PORT)
}
cluster.on('exit', (worker) => {
console.log('server',`Worker %d die ${worker.id}`);
cluster.fork();
})
Есть ли какое-нибудь решение?Спасибо.