Aws lambda TypeGraphQl:与Netlify函数/AWS Lambda一起使用

Aws lambda TypeGraphQl:与Netlify函数/AWS Lambda一起使用,aws-lambda,graphql,netlify,typegraphql,netlify-cli,Aws Lambda,Graphql,Netlify,Typegraphql,Netlify Cli,经过一天的工作,我终于能够让TypeQL使用Netlify函数/AWS Lambda,查阅了文档和示例,最后是绝望的蛮力 我在这里分享我的工作代码给其他人(或者我自己的将来参考:p),因为它包含一些违反直觉的关键字用法 正常进近 我在使用时不断遇到的错误是: 您的函数响应必须具有数字状态码。你给了:$undefined 我当然搜索了问题,但没有一个建议的解决方案适合我。工作代码 导入“反映元数据” 从“类型graphql”导入{buildSchema} 从'apollo server lamb

经过一天的工作,我终于能够让TypeQL使用Netlify函数/AWS Lambda,查阅了文档和示例,最后是绝望的蛮力

我在这里分享我的工作代码给其他人(或者我自己的将来参考:p),因为它包含一些违反直觉的关键字用法

正常进近 我在使用时不断遇到的错误是:

您的函数响应必须具有数字状态码。你给了:$undefined
我当然搜索了问题,但没有一个建议的解决方案适合我。

工作代码
导入“反映元数据”
从“类型graphql”导入{buildSchema}
从'apollo server lambda'导入{apollo server}
从“配方解析程序”导入{RecipeResolver}
异步函数lambdaFunction(){
const schema=wait buildSchema({
解析程序:[RecipeResolver],
})
const server=新服务器({
模式,
操场:没错,
})
//!!!注意:return(wait)server.createHandler()不起作用!
exports.handler=server.createHandler()
}
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! 注意:这很奇怪,但唯一能让它与
//AWS lambda和netlify函数(netlify dev)
//还需要重新加载页面(第一次加载游乐场将不起作用)
lambdaFunction()
//exports.handler=lambdaFunction不起作用
//导出{lambdaFunction as handler}不起作用
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我还从这个简单的例子中得到了一些反射错误

无法从TypeScript反射系统推断GraphQL类型。您需要为“RecipeResolver”的“recipe”的“title”参数提供显式类型
因此,我必须找出如何将显式类型添加到
@Arg

// previous:
// recipe(@Arg('title') title: string)
// fixed:
   recipe( @Arg('title', (type) => String) title: string

谢谢分享。您是否找到了一种向typegql对象显式添加类型的方法?在一个拥有大量对象的现有应用程序中执行此操作相当麻烦。也许装修工不工作了?不确定netlify lambda是否正在读取我的Tconfig文件,可能会检查类型graphql问题。显然,由于TS反射系统的限制,您需要冗余地定义类型(在decorator上以及在类字段中)。