Je reçois
En essayant d'activer CORS sur API Gateway, pourquoi cela et comment puis-je résoudre ce problème? Ces fonctions sont déployées à l'aide d'AWS SAM. Mais je remarque que si je crée mes propres API via AWS Console, cela se produit également
Les erreurs ressemblent à:
J'ai trouvé que je devais avoir besoin d'ajouter moi-même un modèle de réponse "vide"?
Maintenant, je reçois
Ajouter un mappage d'en-tête de réponse d'intégration Access-Control-Allow-Origin à POST (code d'état de réponse non valide spécifié)
Comment résoudre ça?
Veuillez d'abord sélectionner votre ressource racine et sélectionner "Activer CORS". Il permettra à CORS de toutes les méthodes. Idéalement, cela devrait fonctionner. Si au cas où cela ne fonctionne pas, veuillez ajouter un json vide dans la réponse comme je l'ai marqué dans la capture d'écran ci-jointe. Je crois que vous n'avez ajouté aucun en-tête de réponse par défaut dans votre réponse de méthode OPTIONS (dans Réponse de méthode). Veuillez vous référer à la capture d'écran
J'ai eu un problème CORS avec API Gateway + Lambda et les réponses ci-dessus ne m'ont pas aidé, mais j'ai compris que je devais ajouter des informations d'en-tête à mon code de réponse dans mon API.
Je devais ajouter le res.statusCode
et les deux en-têtes.
// GET
// get all myModel
app.get('/models/', (req, res) => {
const query = 'SELECT * FROM MyTable'
pool.query(query, (err, results, fields) => {
//...
const models = [...results]
const response = {
data: models,
message: 'All models successfully retrieved.',
}
//****** needed to add the next 3 lines
res.statusCode = 200;
res.setHeader('content-type', 'application/json');
res.setHeader('Access-Control-Allow-Origin', '*');
res.send(response)
})
})