触发PATCH请求的GET请求(表达)

时间:2020-01-06 20:36:21

标签: api express

在我的快递服务器上,我有一个脚本,该脚本通过抓取来检索项目。我想偶尔触发此脚本,然后将检索到的项目推送到我的数据库中。

我的第一个想法是在我的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 })
      }
    })

0 个答案:

没有答案