Мне теперь удалось заставить это работать.
Я создал объект ответа:
class ReportResponse {
boolean isBase64Encoded = true
def headers
byte[] body
}
и затем в моем обработчике у меня есть:
ReportResponse reports(data, Context context) {
return new ReportResponse(
headers: [ "Content-Type": "application/pdf" ],
body: JasperExportManager.exportReportToPdf(new
MemberReport().getReport(data.queryStringParameters.id)))
}
К сожалению, когда я жестко закодировал заголовки в классе ReportResponse, произошла консольная ошибка (что-то в OpenJDK ..)
Вышеприведенное позволяет мне использовать Lambda Proxying в AWS API Gateway и, таким образом, полный объект запросапередается в функцию.
Единственным другим изменением является установка '* / *' в двоичном виде в AWS API Gateway, что хорошо для моего варианта использования.