如何在无服务器上为单个事件定义多个处理程序?

问题描述 投票:0回答:0

我有一个

serverless function
接受
N
http
事件;

delivery:
    handler: src/DeliveryHandler.handler
    architecture: ${self:provider.architecture}
    events:
      - http:
          path: /deliveries/cancel
          method: post
          cors: true
          private: true
      - http:
          path: /deliveries/{id}
          method: get
          cors: true
          private: true

我提出的解决方案是在默认处理程序上使用

switch

const handler = async (event) => {
    switch (event.resource) {
        case '/deliveries/cancel':
            return doSomething(event)
        case '/deliveries/{id}':
            return doSomethingElse(event)
        default:
            return Promise.reject(new Error('Not found'))
    }
}

是否可能,如果可以,我如何为每个事件定义不同的处理程序,以便避免在单个处理程序中出现

switch

javascript serverless
© www.soinside.com 2019 - 2024. All rights reserved.