'how to pass request object to aws lambda function using serverless.yml

serverless.yml*** service: TestingApp09Feb

provider: name: aws runtime: java8 endpointType: regional region: us-east-1 stage: dev

package: artifact: target/checkoutcom-gateway-extension-0.0.1-SNAPSHOT-aws.jar

functions: processPayment: handler: com.kibo.checkout.Capture.CheckoutHandler environment: FUNCTION_NAME: processPayment events: - http: path: / method: POST timeout: 600 serverless.yml***

****Spring Boot Class

@SpringBootApplication public class CaptureApplication { private static final Logger logger = LoggerFactory.getLogger(CaptureApplication. Class); @Autowired private PaymentProcessorService paymentProcessorService;

public static void main(String[] args) {
    SpringApplication.run(CaptureApplication.class, args);
}

@Bean
    public Function<CheckoutRequestObject, String> processPayment() {
     logger.info("Entered into processPayment method");
       return checkoutRequestObject -> {
            try {
                paymentProcessorService.checkPaymentEvent(checkoutRequestObject);
                return "Payment Processed Successfully..!!!";
            } catch (Exception e) {
               logger.error("Exception in processPayment method ",e);
                return "Payment Processed Unsuccessfully..!!!";
            }
        };

    }

}

Handler Class**********

public class CheckoutHandler extends SpringBootRequestHandler<CheckoutRequestObject,Object> { }



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source