问题标签 [vtl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Telosys 浏览 Velocity 模板语言中的目录
我正在尝试在 VTL 中编写模板以使用 telosys 生成 java 类。我的起点是一个包含 json 文件(mapping1.json、mapping2.json、...)的目录(src/main/resources/templates/es)。json 文件的数量和名称未知,可能会有所不同。我必须为每个 json 文件生成几个 java 类。
我已经为我必须生成的每个 java 类编写了一个模板。但是这些模板适用于静态嵌入的 json 对象。
这是一个例子:
我现在需要的是:
1-浏览我的 json 目录,获取每个 json 文件并在该 json 上应用模板以创建该 json 文件的 java 类。
2-正确配置文件templates.cfg以使用 java 类名创建 java 类文件。关于这一点,我尝试从模板修改变量${BEANNAME}、${BEANNAME_UC}、${BEANNAME_LC}(由 telosys 默认给出)。但它不起作用:它们仍然是空的并且没有生成文件。这是文件templates.cfg的内容:
谢谢你帮助我!
graphql - 如何使用 Aws AppSync 将 JTW 令牌(或任何其他变量)从父解析器传递给子解析器
我正在尝试将 JWT 令牌传递给 AppSync 中的嵌套查询,以检查用户是否有权请求此类数据。
问题是 AppSync不允许我将 JWT 令牌从父查询转发到任何子解析器。
例子 :
这里profilePicture
, pleadingList
, pleadingFiles
, pleadingParticipantSlots
,participant
是子查询,我希望能够识别谁在执行每个子查询,而不仅仅是主/父查询
有什么解决办法吗?
我已经尝试过的:
问题是,当我将令牌动态添加到主要结果时,它并不总是有效(从某种意义上说,如果我从查询中得到的是一个项目数组,而子查询是每个项目的启动,那么我无法访问每个子请求中的令牌,因为这$ctx.source
将只是没有令牌的项目。
- 我还尝试了将 JWT 令牌添加到的管道,
ctx.stash
但更糟糕的是,因为ctx.stash
(和ctx.args
)在任何子请求之前被清除
所以我想要一种将变量传递给我所有子解析器的方法,或者一种将我的标头从父请求保留到嵌套查询的方法。
我让它工作的唯一方法(它非常难看,我不想这样做;))是每次在前端添加令牌作为查询和子查询参数......
喜欢:
我有点迷茫,在 AWS AppSync 文档中找不到任何相关内容。有什么办法吗?还是我想错了?
谢谢
amazon-dynamodb - AppSync 中的 DynamoDB ReturnValues UPDATED_OLD
我正在尝试使用AppSync更新DynamoDb表中的项目属性。一旦成功,我想在下一次调用中使用该属性的先前值作为键(我正在使用管道解析器)。
要使用DynamoDB实现此目的,您只需将UPDATED_OLD设置为返回值。
我找不到任何文档来指定 AppSync 的 DynamoDB 解析器的返回值。我试过以下。
但它的语法无效。
vtl - 如何使用 VTL 获取数组中的最后一个元素?
我正在编写 AWS AppSync 解析器。我确实需要在我的数组中获取最后一个元素。AWS AppSync 支持 VTL 语言。
例子:
#set($items=["color", "taste", "shape"])
#set($result="shape")
我正在使用 $array.size() 但没有用。我在 Utility Helpers 中看不到任何选项。.
#set($result=$item[$item.size()-1])
谢谢,
amazon-web-services - AWS Appsync 中的 VTL 宏
我正在为 aws appsync 编写请求解析器,我的宏不起作用
我尝试将其简化为最简单的形式,如下面的代码所示,它只返回 #addArgs() 而不是“test”
我希望在运行测试时得到“测试”这个词,但我得到的是#addArgs。
javascript - Dynamodb 条件更新根据条件添加或删除
我有一个 dynamodb 表,其中一列是 Map 类型。我想要一个更新查询,如果该项目在地图中,则从地图中删除该项目,或者如果该项目不在地图中,则将该项目添加到地图中。我怎样才能为这个问题写一个VTL?
graphql - 解析器映射模板开发指南
主题
我正在使用带有 GraphQL 和 DynamoDB 作为后端的放大,它通过 AppSync 工作。AppSync 基于 vtl 生成 json 并执行它(我实际上不知道服务的哪一部分执行它) - 所以它命名为Resolver Mapping Template
我需要用我编写的自定义解析器覆盖我的所有 GraphQL 端点,但是开发会受到伤害,因为我找不到任何解决方法来简化开发和测试,除非通过 aws 控制台,什么是缓慢和不方便的
我尝试
了什么
作为一种方法,我尝试创建DynamoDB
json 文件并通过 上传它们awscli
,但AppSync
使用另一种 json 格式 -Resolver Mapping Template
我需要什么我
想知道如何开发、调试和测试我的解析器的任何解决方法和指南。所以我需要2个选项或两者兼而有之
- 将生成的模板与所有
$util
内容进行比较。很高兴有 - 通过 cli 将生成的模板执行到 DynamoDB 中以检查结果(或者可能有任何模拟系统)。很高兴拥有
date - 以速度从日期减去月份
我正在尝试从给定日期获取几个月前的日期
我尝试转换为 Calendar 以使用 add 方法,但这不起作用:
我尝试以几种不同的方式做到这一点:
我什至尝试过定义块,但这也不起作用
serverless - 比较 Apache Velocity 模板中的字符串 (AWS AppSync)
我想比较字符串但无法。考虑这个例子:
如果我投一个,那么它匹配吗?
Apache 网站上的示例显示了类似的用法(尽管有一个错字说这两种选择都不会匹配)
当然,当项目属于 diff 类时,他们确实提到了强制转换为字符串,但这不是我的情况。
这是怎么回事?我正在使用 AppSync 本地插件在无服务器框架上执行此操作。问题可能存在吗?
更新awsutils 离线应用程序同步包中的潜在错误。已提交错误报告。敬请关注。
unit-testing - 如何为速度模板编写单元测试?
这甚至可能吗?
大家好。我正在使用 AWS AppSync + DynamoDB 构建应用程序,并且我开始拥有大量解析器映射模板,所有这些模板都是使用 Apache Velocity 模板语言 (VTL) 编写的。
我开始担心的是,这些 vtl 文件对应用程序非常重要(因为它们定义了如何检索数据)并且其中一个可能造成严重破坏的错误。所以就像系统的任何关键部分一样......我想为他们编写一些自动化的单元测试。但我没有发现很多其他人这样做。
- 如果您使用 VTL(使用 AppSync 或 API 网关),您如何测试它们?
- 甚至可以为速度模板编写自动化测试吗?
- 还是我走错了路,我应该只使用 Lambdas 作为我的解析器?
提前致谢!