当前位置: 首页 > 知识库问答 >
问题:

如果不使用amplify,如何从AppSync GraphQL模式生成Typescript定义?

葛兴发
2023-03-14

我使用aws cdk设置了我的AppSync api,但没有使用他们的amplify框架。我正在试图弄清楚如何/是否可以从我的AppSync模式生成Typescript定义。graphql文件,但不使用amplify,即无法访问amplify codegen命令。我确实尝试过安装和运行它,但我假设amplify希望文件位于某些目录中,因此失败了。

我调查https://graphql-code-generator.com但由于AppSync使用的特殊类型(如AWSDateTime)无法工作,解决方法是发布api并从graphqlendpoint获取模式,但这并不理想,即我希望能够在本地生成这些类型,而无需发布模式。

这可行吗?

共有1个答案

都浩淼
2023-03-14

如果有一些自定义标量(如AWSDateTime)不属于模式的一部分。graphql文件,您只需创建一个单独的文件,如标量。graphql并自己添加缺少的类型定义:

scalar AWSDateTime
scalar AWSPhone
scalar AWSJSON

然后,只需向GraphQL代码生成器传递一个匹配两个文件的全局代码——它们将被组合成一个单一的模式。

 类似资料:
  • 我正在尝试在使用打字稿的 react 本机项目中添加 Amplify 身份验证。amplify 文档中给出了一个包“aws-amplify-react-native”,它用作中间件来验证我们的应用程序。但是这个包只在基于javascript的项目中受支持。对于打字稿,它显示一个错误,例如 没有可用的软件包,如“@类型/aws-放大-反应-原生” 有人能帮我摆脱这一切吗?

  • 根据http://json-schema.org/和jsonSchema中提供的示例,json shema使用的格式包括链接 但是我找不到一种方法把它添加到生成的,schema,虽然有一个HyperSchema对象,这似乎是我需要的,但是我找不到如何使用它。

  • 现在,我想生成一些样板服务器端代码:控制器及其方法。我的API将使用ASP.NET Core2编写。那么,是可能使用某种发电机还是我应该手动? 附言。我知道我可以生成客户端代码,但我现在不需要它...

  • 我的项目是用vue构建的。js和severless框架,当我尝试将其与Aws AppSync和Amplify(通过使用Amplify cli)集成时,它会自动生成一个模式。下的json几乎不可读。因此,每次我想更改模式时,我都会转到appsync控制台,在那里更改它,然后执行以下操作之一: > 执行

  • 我们计划通过传递html文本作为输入,在横向模式下生成一个pdf。此外,pdf是在横向模式下生成的,而内容是在纵向模式下。以下是我们用来执行上述要求的步骤。 1)从源系统接收xml内容。 2) 使用xsl从xml生成html输出。 3)将html输出作为输入传递给pdf java类,然后该类将以横向模式生成pdf。 示例 xml 文件:.com/重置样本 样本xsl文件:.com/重置复制 jav