【问题标题】:NextJs api routes, 2 POST requests how to differentiateNextJs api路由,2个POST请求如何区分
【发布时间】:2022-10-15 15:54:40
【问题描述】:

我有一个问题,我正在 NextJS 中制作一个应用程序,但我遇到了问题。在一个页面上,我可以购买、出售和删除资产。如果两者都是 API Route 中的 POST 请求,如何区分买卖。怎么办,我应该添加一些“类型”吗?或者,还有更好的方法?

const handler = async (req: NextApiRequest, res: NextApiResponse) => {
  if (req.method === "POST") {
   assetIdForBuy = req.body
  }

  if (req.method === "POST") {
    const assetIdForSell = req.body;
  }
};

export default handler;

【问题讨论】:

  • 这取决于。每个请求之间的请求正文是否有任何不同?如何区分它们真的取决于您。您甚至可以为它们中的每一个使用不同的 API 路由。

标签: next.js


【解决方案1】:

好吧,您可以简单地添加一些类型检查,例如,

if(req.body.data.type === "delete"){ // or something like that whatever fits.
    assetIdForDelete = req.body
{

【讨论】:

    【解决方案2】:

    实际上,您是在单个 url 上发出买入和卖出请求,但随后您根据请求方法将它们分开,所以我不推荐这样做,例如您在 http://localhost:3000/assets 发送请求然后您根据您发送的请求类型来处理请求,而不是使用 2 条不同的路线,例如:

    对于购买资产,它将是 本地主机:3000/api/资产/购买

    对于出售资产,它将是 本地主机:3000/api/assets/sell

    【讨论】:

      猜你喜欢
      • 2022-10-24
      • 2021-04-02
      • 2020-11-24
      • 2022-08-23
      • 2011-10-25
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多