{"repo":"aws-samples/java-crud-microservice-template","free":true,"listed":false,"github":"https://github.com/aws-samples/java-crud-microservice-template","clone":"git clone https://github.com/aws-samples/java-crud-microservice-template.git","description":"Sample of a serverless crud microservice written in Java, with a SAM project template to use with sam init --location","language":"Java","stars":11,"topics":["serverless","microservice","template"],"license":"MIT-0","category":"saas-starters-boilerplates","readme_excerpt":"java-crud-microservice-template Note : this sample is used and described in the blog post: Operating serverless at scale: Improving consistency This is a sample of serverless CRUDL (Create - Read - Update - Delete - List) microservice written in Java (JDK11). It demonstrates the use of AWS Lambda, AWS DynamoDB, Amazon API Gateway and AWS SAM (Serverless Application Model). But more important, it also demonstrates how to create a project template (or \"archetype\", not to be confused with an AWS SAM template file) that you can later use to bootstrap new projects based on this structure, using the AWS SAM CLI and the command sam init --location . Architecture The architecture is the following and is pretty standard: You can find the sources of this architecture and information about its deployment in the sources folder. This sample partially follows an hexagonal architecture: you will see that access to DynamoDB is done through an adapter, to avoid using the DynamoDB API directly in the Lambda handler, thus simplifying unit testing. The sample also uses aws-lambda-powertools-java to simplify logging, metrics and tracing. Finally, it also contains unit tests, leveraging the aws-lambda-java-tests library. SAM Project Bootstrap The archetype, to be used by sam init is available in the {{cookiecutter.project name lower replace(' ','-')}}%7D%7D) folder. It uses cookiecutter (a template engine) to parameterize the project, thanks to variable defined between {{ and }} . These variables ","default_branch":null,"files":null,"tree":[],"storefront":"/r/aws-samples","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aws-samples/java-crud-microservice-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}