Mendapatkan respons kesalahan = null dari api gateway dan dynamoDb

{ kesalahan: Tidak dapat membaca properti 'playerId' dari null }

Saya telah membuat fungsi daftar lambda

yang melewati playerId. PlayerId ini digunakan seperti itu.

export const main = handler(async (event, context) => { 
const data = JSON.parse(event.body);
const params = {
  TableName: process.env.teamsTable,
  ExpressionAttributeValues : {
    ':playerId' : { S: data.playerId }
  },
  FilterExpression: "contains (players, :playerId)"
};
try {
  const result = await dynamoDb.scan(params);
  if (!result.Items) {
    throw new Error("Teams not found.");
  }

  return {
    status: 200,
    body: result.Items,
  };
} catch (e) {
return {
  statusCode: 500,
  body: JSON.stringify({ error: e.message }),
};}});

Saya telah mengujinya secara lokal dengan tiruan tanpa server dan berhasil. Buat panggilan untuk menggunakannya di FE dan dapatkan kesalahan ini: {error: Cannot read property 'playerId' of null} error: Cannot read property 'playerId' of null, juga tekan melalui API gateway dan tekan hal yang sama. panggilan ujung depan -

  const endpoint = "/teams";
  console.log(playerId);
  try {
    const response = await API.get(amplifyAPIName, endpoint, {
      body: playerId
    });
    return response;
  } catch {
    return [];
  }
}

membantu


person Fenton Haslam    schedule 11.03.2021    source sumber
comment
apakah api gateway ditentukan dengan Lambda atau Lambda_Proxy? kita dapat memeriksa/mengubah pengaturan ini di sini , untuk kode Anda, Anda memerlukan Lambda_Proxy.   -  person Balu Vyamajala    schedule 11.03.2021
comment
Apakah karena memasukkan body ke dalam metode GET?   -  person Zem    schedule 12.03.2021
comment
Ya! Ahhh terima kasih!   -  person Fenton Haslam    schedule 12.03.2021
comment
Itu beruntung. Semoga beruntung!   -  person Zem    schedule 12.03.2021


Jawaban (1)


Jawaban: Saya menggunakan metode get alih-alih posting. Saya meneruskan playerId sebagai ekspresi filter di aws. Dengan mengubahnya menjadi posting saya dapat menerima hasil saya.

person Fenton Haslam    schedule 12.03.2021