Возможно ли иметь два метода post в одном приложении?

#amazon-web-services #serverless

#amazon-web-services #безсерверный

Вопрос:

В моем проекте у меня есть следующая функция:

 createSite:
    handler: CreateSite.main
    events:
      - http:
          path: sites
          method: post
          cors: true
          authorizer: aws_iam
 

но возможно ли иметь другую функцию post, направленную на тот же dynamodb, но с другими атрибутами и т. Д. Потому что, если я создам другой метод post, как мне указать, какой из них вызывать?

Ответ №1:

Да, у вас может быть другой метод post, направленный на ту же серверную систему с разными атрибутами, но вам нужно сопоставить этот метод post с другим http-путем. Это будет выглядеть примерно так:

 createSite:
    handler: CreateSite.main
    events:
      - http:
          path: sites_v2
          method: post
          cors: true
          authorizer: aws_iam
 

Хотя у меня есть вопрос:

Если оба метода post будут взаимодействовать с одной и той же таблицей в DynamoDB, то почему бы не объединить эти два метода / API post в единый API, который содержит дополнительные атрибуты как необязательные и может функционировать, если какой-либо из этих атрибутов предоставлен клиентом.

Единственная причина, по которой вы хотели бы иметь отдельные методы / API post, даже если они взаимодействуют с одной и той же таблицей DynamoDB, если эти операции взаимодействуют с другими внешними службами на основе разных атрибутов и требуют разного масштабирования.

Комментарии:

1. Это на самом деле то, что я пытаюсь сделать сейчас, я указал атрибуты в коде функции, которые я должен был сделать, я должен назвать это как один объект, чтобы он мог быть более динамичным. Спасибо!