AWS Lambda上的nodejs中的惯用查询字符串参数解析

时间:2017-07-26 14:05:21

标签: node.js aws-lambda query-string querystringparameter

考虑以下在AWS Lambda上运行的nodeJS函数,提供http请求:

module.exports.fetchLogLines = (event, context, callback) => {

  // Parse the 'token' param string argument
  let token = null;
  if ((event.queryStringParameters !== null) && 
      ('nextForwardToken' in event.queryStringParameters)) {
    token = event.queryStringParameters.nextForwardToken;
  }

  // Parse the 'tailf' param string argument
  let startFromHead = true;
  if ((event.queryStringParameters !== null) && 
      ('tailf' in event.queryStringParameters) &&
      (event.queryStringParameters.tailf === 'true')) {
    startFromHead = false;
  }

  // Parse the logStreamName param string argument
  const logStreamName = event.queryStringParameters.logStreamName;
  ...

这似乎是一种解析查询字符串参数的麻烦方法:

  • 7 LOC用于验证和解析
  • 明显的方式来指定哪些参数是必需的,哪些是可选的
  • 没有明显的方法来定义期望的类型(整数,数字等)和强制转换 价值观
  • 没有真正的价值断言 - 例如,tailf检查=== 'true',忽略Trueyes1on和其他文本含义为API约定中的true

应该有一个库来做到这一点。

是否有一种惯用的方法来解析nodeJS中的查询字符串参数,定义它们的类型,并指定哪些参数是必需的以及哪些是可选的?

0 个答案:

没有答案