Estoy tratando de agregar un backend existente a un nuevo frontend de reacción. Cada vez que llamo a la API desde reaccionar obtengo, la API api3ceaf69c no detectada (en promesa) no existe
Código del lado del cliente
function getData() { const apiName = "api3ceaf69c"; const path = "/users"; const myInit = { headers: {}, }; return API.get(apiName, path, myInit); } (async function () { const response = await getData(); console.log(JSON.stringify(response)); })();índice.js
import { Amplify, API } from "aws-amplify"; import awsExports from "./aws-exports"; Amplify.configure(awsExports); API.configure(awsExports);aws-exportaciones.json
{ "aws_cloud_logic_custom": [ { "name": "api3ceaf69c", "endpoint": "https://xxxxxxx.execute-api.ap-south-1.amazonaws.com/dev", "region": "ap-south-1" } ] }"aws-amplificar": "^4.3.27"
Revisé varias respuestas sobre el mismo problema, pero ninguna de ellas funciona para mí.
Curiosamente, este mismo código funcionaba hace unos días hasta que tuve que reconstruir mi backend debido a algunos cambios.
¡Finalmente descubrí el problema! El problema estaba en el lugar donde llamo a Amplify.configure(aws_exports) . Por alguna razón, las exportaciones de aws no se estaban inicializando en el archivo index.js, así que lo moví más cerca de donde realmente estoy llamando a la API, es decir, la función getData(). Comenzó a funcionar después de eso.
Pensé que el código del cliente usaba aws-exports.js para decidir si existe la API. Parece que ya lo has comprobado. ¿Aparece la API xxxxxxx de su archivo de exportación en API Gateway en la consola de AWS? ¿Se puede invocar desde la consola?