将邮递员 api 调用转换为 Node.js 调用

Convert postman api call to Node.js call

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

我已经将一个集合导入到 postman,当我执行 post 请求时,它工作得很好。然而,在 Node.js 中,它使用 swagger 库输出 400 错误,使用 axios 输出 500。

这是集合在 postman 中提供的架构:

{
  "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();

我应该如何将 body/form-data 传递给 post 请求,或者使用其他包或代码?在此先感谢您的帮助。

当你在 postman 中有 api 运行 时,只要看到这个名为 "code" 的按钮我用黑色标记

  • 点击这个按钮
  • select 语言为 node.js

它会在 node.js 中显示 api 中的代码,只需复制该代码并粘贴到需要的位置即可。 我在这里附上图片,请看这个