簡體   English   中英

Nodejs - 將 json 對象傳遞給 event.handler 函數

[英]Nodejs - Passing json object to a event.handler function

提前道歉,因為這是我第一次使用 NodeJs。

我們正在使用一種名為 QTest Pulse 的產品。 簡單來說,我們有一個 webhook,它連接到在服務器上執行並產生結果的 nodejs 文件。 我正在嘗試設置我的本地環境來調試文件以對其進行更改。

我們通常使用bash 腳本調用文件,如下所示

curl -X POST \
    https://pulse-7.qtestnet.com/webhook/ \
    -H 'cache-control: no-cache' \
    -H 'content-type: application/json' \
    -d @payload.json

payload.json包含如下數據

{"testcycle" : "178173", "result" : "encrypted data", "projectId" : "90354"}

服務器parser.js上的文件包含

function processPayload(payload) {
    const projectId = payload.projectId;
    const cycleId = payload.testcycle;

    console.log(projectId);
    console.log(cycleId);
}

exports.handler = function (
    {event: body, constants, triggers},
    context,
    callback
) {
    const formattedResults = processPayload(body);
};

我試圖創建一個名為runner.js的文件來調用 parser.js 中的事件

const parser = require('./Parser');
const fs = require('fs');

const jsonContent = fs.readFileSync('payload.json').toString;
let output = parser.handler({body: jsonContent, constants: "", triggers: ""}, "", "");

console.log(output);

當我運行它時,我總是將 parser.js 中的 body 設為未定義。 我還嘗試對值進行硬編碼而不是從文件中讀取,但仍然遇到相同的問題。 提前致謝。

2 錯誤:

  1. 錯字: fs.readFileSync('payload.json').toString你忘記調用toString()

  2. 你正在做錯誤的解構。 你已經在發送身體了。

    export.handler = function ( { body , constants, triggers}, context, callback ) { const formattedResults = processPayload(body); };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM