在我的快递服务器上,我有一个脚本,该脚本通过抓取来检索项目。我想偶尔触发此脚本,然后将检索到的项目推送到我的数据库中。
我的第一个想法是在我的API中创建一个端点(例如/ api / scrape-items)。问题在于,这将是一个负责运行脚本的GET请求,检索项目 AND 修补项目(更新)我的数据库。让GET请求执行所有操作似乎不正确,尤其是发出PATCH请求,但由于我没有任何内容,我也无法将GET请求更改为POST请求。
有人可以帮助我提出更好的方法吗?谢谢!
更新:触发端点的示例:
router.get('/scrape-items/', async (req, res) => {
try {
const resultFromScraping = await [
{ id: 1, data: 'updated data' },
{ id: 2, data: 'updated data' }
]
await Promise.all(
resultFromScraping.map(
async item =>
await axios.patch(
`/api/items/${item.id}`,
item.data
)
)
)
} catch (err) {
res.status(500).json({ message: err.message })
}
})