У меня есть функция GET, остальная в проекте, для вывода списка всех элементов в моей динамической базе данных, которая отлично работает, однако, когда я использую ее снова, но нацеливаюсь на элемент с указанным c идентификатором, я получаю эту сетевую ошибку. Я запустил функцию в lamdba напрямую, и она работает, поэтому я немного запутался.
Вот вызов:
import React, { useRef, useState, useEffect } from "react";
import { API } from "aws-amplify";
export default function Sites(props) {
const file = useRef(null);
const [site, setSite] = useState(null);
const [content, setContent] = useState("");
useEffect(() => {
function loadSite() {
return API.get("sites", `/sites/${props.match.params.id}`);
}
async function onLoad() {
try {
const site = await loadSite();
const { content } = site;
console.log(content);
setContent(content);
setSite(site);
} catch (e) {
alert(e);
}
}
onLoad();
}, [props.match.params.id]);
return (
<div className="Sites"></div>
);
}
РЕДАКТИРОВАТЬ:
Также вот маршрут со страницы элементов списка:
<AppliedRoute path="/sites/:id" exact component={Sites} props={childProps} />
Код метода:
import * as dynamoDbLib from "./libs/dynamodb-lib";
import { success, failure } from "./libs/response-lib";
export async function main(event, context) {
const params = {
TableName: "sites",
// 'KeyConditionExpression' defines the condition for the query
// - 'userId = :userId': only return items with matching 'userId'
// partition key
// 'ExpressionAttributeValues' defines the value in the condition
// - ':userId': defines 'userId' to be Identity Pool identity id
// of the authenticated user
KeyConditionExpression: "userId = :userId",
ExpressionAttributeValues: {
":userId": event.requestContext.identity.cognitoIdentityId
}
};
try {
const result = await dynamoDbLib.call("query", params);
// Return the matching list of items in response body
return success(result.Items);
} catch (e) {
console.log(e);
return failure({ status: false });
}
}
Также после тестирования в AWS API-шлюзе я получаю сообщение об ошибке 500 со следующими журналами:
https://pastebin.com/FHQnZAqt