如果 VTL / API 网关模板中不存在密钥,则返回 null

Posted

技术标签:

【中文标题】如果 VTL / API 网关模板中不存在密钥,则返回 null【英文标题】:Return null if key does not exist in VTL / API Gateway Template 【发布时间】:2017-05-25 09:33:43 【问题描述】:

如果授权标头存在,则以下模板返回''。我怎样才能得到null?所以如果 key 不存在则返回null...


  "headers" :  
     "authorization" : "$input.params().header.get('Authorization')" 
  

【问题讨论】:

【参考方案1】:

您可以使用#if ($variable) 来检查变量是否不为空

#if ($variable) 
   ... do stuff here if the variable is not null
#end

在您的用例中,您可以尝试在授权标头周围放置空检查,如下所示。


  "headers" : 
     #if( $input.params().header.get('Authorization').toString() != "" ) 
        "authorization" : "$input.params().header.get('Authorization')" 
     #end
  

【讨论】:

以上是关于如果 VTL / API 网关模板中不存在密钥,则返回 null的主要内容,如果未能解决你的问题,请参考以下文章

AWS Cloudformation 将 API 密钥链接到 API 网关

PHP MySQL:如果API数据中不存在则删除行

如果通过 Zuul API 网关发送请求,则缺少授权标头

Angular 2:如果值存在,则显示 html

如果 Freemarker 中不存在 XML 节点,则分配空字符串

在 Kong API 网关中使用 .jks 密钥对 JWT 令牌进行身份验证