Как вы относитесь к плюсам и минусам использования интеграции Lambda с функцией прокси и без нее в AWS API Gateway (а точнее, при использовании безсерверной системы)? Вот что я думаю до сих пор:
Интеграция лямбда с прокси
- Pro. Можно быстро прототипировать и кодировать, не беспокоясь о всех необходимых конфигурационных деталях (и повторно изобретая несколько колес, например, общие шаблонные сопоставления и т.д.).
- Pro: действительно легко вернуть любой код состояния и настраиваемые заголовки, в то же время есть общий способ чтения тела, заголовков, параметров запроса.
- Con: все сделано в коде, поэтому автогенерирующая документация немного сложнее. Зависимости (заголовки, модели, возвращенные коды состояния) "скрыты" в коде.
Интеграция лямбда без прокси
- Con: включает в себя гораздо больше работы по настройке, и эта конфигурация может дублироваться в разных ресурсах.
- Pro: он позволяет отделить то, что получает и возвращает лямбда, и как он сопоставляется с разными кодами, заголовками и полезными нагрузками HTTP-кода.
- Pro: очень полезно, потому что он предопределяет то, что он возвращает, и что он требует в терминах заголовков и полезных нагрузок.
- Pro: тяжелая работа при настройке всего полезна в конечном счете, потому что можно экспортировать все в Swagger, чтобы другие могли использовать это для генерации для него различных SDK.
Каковы ваши мысли? Обычно ли вы используете Lambda Proxy или простые интеграторы лямбда? Что вы предпочитаете и почему?
EDIT. До сих пор я склонен всегда не использовать функции прокси-сервера из-за упомянутых причин (развязка и определение зависимостей - заголовки, коды состояния и т.д.).