Это плохая практика для выполнения http-запросов в основном модуле? - PullRequest
0 голосов
/ 09 марта 2020

Я хочу синхронизировать c данные из внешнего ресурса (файл, сервер и т. Д. c) в мою БД при каждом запуске сервера.

приложение. js

const app = express();
app.use('/add', require('./addLayer'));

...

(async() => {
    const external_resource = await axios.get('...'); // get data 
    await axios.post('http://localhost:3000/add', external_resource.data); // add it to db
});

addLayer. js

const DBObject = require('../../models/DBObject')
const addNewLayer = async (req, res) => {
    try {
        const data = validateData(req.body)
        await DBObject.create(data)
    } catch (err) {
        res.status(400).send(err)
    }
}

Я не хочу переписать код в маршруте /add (который включает проверку данных), но я считаю, что выполнение запросов POST здесь не годится по какой-то причине. Есть ли лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...