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

时间:2019-02-20 13:03:08

标签: node.js swagger postman swagger-2.0

尝试向使用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();

我应该如何将正文/表单数据传递给邮寄请求,或者使用其他程序包或代码?预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当您在邮递员中运行api时,只需看到名为“ code”的按钮,该按钮上我就会用黑色标记

  • 单击此按钮
  • 选择语言作为node.js

它将在node.js中为您显示该API的代码,只需复制该代码并粘贴到需要的位置即可。 在这里,我要附上图片,请参见enter image description here