首页 > 解决方案 > 将 postman api 调用转换为 Node.js 调用

问题描述

尝试向使用 swagger 2.0(不是我)制作的 API 发出发布请求时遇到了一些麻烦。

我已经向邮递员导入了一个集合,当我执行一个发布请求时,它工作得很好。但是在 Node.js 中,它使用 swagger 库输出 400 错误,使用 axios 输出 500 错误。

下面是该集合在邮递员中提供的架构:

{
  "workflowFunctionID": 1,
  "workflowActionParameters": [
    {
      "name": "Description",
      "value": "Probando y wea2",
      "workflowFunctionParameterId": 2
    },
    {
        "name": "Price",
        "value": "25000",
        "workflowFunctionParameterId": 3
    }
  ]
}

正如我所提到的,它工作得很好。这是当前使用 Node.js 的代码:

main = async() => {
  try {
    const token = await acquireTokenWithClientCredentials(RESOURCE, CLIENT_APP_Id, CLIENT_SECRET, AUTHORITY);

    const request = {
      url: `${WORKBENCH_API_URL}/api/v1/contracts?workflowId=1&contractCodeId=1&connectionId=1`,
      method: "POST",
      headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token.access_token}` },
      body: {
        workflowActionInput: {
          workflowFunctionID: 1,
          workflowActionParameters: [{
              "name": "description",
              "value": "cualkier wea"
            },
            {
              "name": "price",
              "value": "20000000"
            }
          ]
        }
      }
    }

    let res = await Swagger.http(request);

    console.log(res);
  }
  catch (err) {
    console.error(err);
  }
}

main();

我应该如何将正文/表单数据传递给发布请求,或者使用另一个包或代码?提前感谢您的帮助。

标签: node.jsswaggerpostmanswagger-2.0

解决方案


当您在邮递员中运行 api 时,只需看到这个名为“代码”的按钮,我用黑色标记

  • 点击这个按钮
  • 选择语言作为 node.js

它将在 node.js 中显示该 api 的代码,只需复制该代码并粘贴到需要的地方。在这里我附上图片请看这个在此处输入图像描述


推荐阅读