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

时间:2017-01-10 19:11:09

标签: aws-lambda aws-api-gateway serverless-framework vtl

如果Authorization标头,则以下模板会返回''。我怎样才能获得null?如果密钥不存在,请返回null ...

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

1 个答案:

答案 0 :(得分:3)

您可以使用#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
  }
}