大佬教程收集整理的这篇文章主要介绍了无服务器 lambda 函数无法与 CORS 反应,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
大家好,我已经使用 API 网关编写了一个无服务器 lambda API,该 API 可以在我使用 POSTMAN 时按照我的预期工作。 API 使用 PATCH 方法更新 dynamoDB 中的记录。然后我在我的 React 应用程序中实现了 axios 来调用我的 API。由于 CORS 正常,调用失败,我转到 API 网关并通过按下进入方法响应的方法 PATCH 为该端点启用了 CORS,集成方法添加了所有响应头
Access-Control-Allow-headers
Access-Control-Allow-Origin
Access-Control-Allow-Credentials
Access-Control-Allow-Methods
已部署 API,但不起作用。然后我尝试在我的 serverless.yml 中添加 cors: true
并部署它也不起作用。
这是我的鳕鱼:
setBookVotes:
handler: src/handlers/setBookVotes.handler
events:
- http:
method: PATCH
path: /book/{ID}/Vote
反应:
export const updateVoteCount = (ID,VotE) => {
return axios.patch(`book/${ID}`,{
Vote: Vote,});
};
Lambda:
import AWS from "aws-sdk";
import mIDdy from "@mIDdy/core";
import httpJsonBodyParser from "@mIDdy/http-Json-body-parser";
import httpEventnormalizer from "@mIDdy/http-event-normalizer";
import httpErrorHandler from "@mIDdy/http-event-normalizer";
const dynamodb = new AWs.DynamoDB.documentClIEnt();
async function setBookVotes(event,context) {
const { ID } = event.pathParameters;
const { Vote } = event.body;
const params = {
tablename: process.env.bOOK_table_name,Key: { ID },updateExpression: "set Vote = Vote + :Vote",ExpressionAttributeValues: {
":Vote": Vote,},ReturnValues: "all_NEW",};
let updatedVotes;
try {
const result = await dynamodb.update(params).promise();
updatedVotes = result.Attributes;
} catch (error) {
console.error(error);
throw new createError.InternalServerError(error);
}
return {
statusCode: 200,body: JsON.Stringify(updatedVotes),};
}
export const handler = mIDdy(setBookVotes)
.use(httpJsonBodyParser())
.use(httpEventnormalizer())
.use(httpErrorHandler());
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的无服务器 lambda 函数无法与 CORS 反应全部内容,希望文章能够帮你解决无服务器 lambda 函数无法与 CORS 反应所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。