
Learn to build REST APIs with Java on AWS serverless architecture, using mock APIs, Amazon API Gateway, and Lambda to deploy, document, export, import, and shift traffic between versions.
Meet Sergei, a seasoned Java back-end developer, who invites you to learn, connect on LinkedIn, and earn a certificate upon completing this aws serverless rest apis for Java developers course.
Learn how to use Amazon Web Services to expose REST endpoints for weather data, design HTTP requests and responses, model data, and document your API for client applications.
Explore the representational state transfer (rest) architectural style and how to design resources such as users and albums around identifiers, using http methods and json for stateless services.
Design REST API URIs around resources based on nouns, not verbs. Use POST to create resources with endpoints like /users and keep paths concise, such as /users/{id}/albums/{albumId} when needed.
Explore how restful http methods map to CRUD operations—post for create, get for read, put/patch for update, and delete for removal—while the url path remains the same.
Compare the traditional three-tier architecture with microservices and serverless approaches, showing how presentation, logic, and data tiers evolve into independent services deployed with API gateway and discovery service.
Learn to build serverless rest APIs on AWS with Lambda and API Gateway, leveraging compute, storage, and integration services like DynamoDB, S3, and Aurora Serverless, with CI/CD included.
See how a serverless rest API runs on Amazon Cloud with Lambda-driven logic, separate DynamoDB or RDS stores, and API Gateway handling requests with Cognito authentication.
Route http requests from diverse clients through Amazon API Gateway, the central entry point to backend services. Learn to create, publish, monitor, and secure APIs with stages and canary deployments.
Explore importing a swagger or OpenAPI 3 definition into AWS API Gateway to create a rest api, selecting regional or private endpoints, and handling warnings via a Petstore demo.
Configure the method request interface to set authorization, API key requirements, and request validation; define query parameters and headers and enforce a json body schema.
Configure integration requests to select a target backend (http endpoint, lambda, mock, or aws service) and apply mapping templates to transform url path parameters, query string parameters, and http headers.
Learn how API gateway integration response transforms backend replies into client-ready Json payloads by mapping status codes and using mapping templates.
Define the api method response as the public interface by configuring status codes, headers, and content types, with per-status-code body models tied to the integration response.
Test the api by sending an http get request to /pets, confirm a 200 response with a json list of pets, and review the API Gateway method execution page.
Learn how to use Amazon API Gateway to create a mock API with predefined data models, enabling frontend and backend teams to test independently before integration.
Create a new rest api in the api gateway console, naming it users mock api. Select an endpoint type, like regional or private, and get ready to add endpoints.
Create a /users resource in the API gateway and set up a POST endpoint to create users. Avoid proxy resources and consider enabling CORS for cross-origin requests.
Define http methods for the forward slash users resource by adding http post to create users and http get to list users, using mock integrations for predefined responses.
Configure a mock api gateway endpoint with mapping templates for application/json to return a hardcoded json array of users on a get /users request and verify a 200 response.
Create a mock api gateway endpoint that accepts a user id path parameter under /users. Read the path id in lambda code and return hardcoded user details; handle preflight options.
Learn how to configure an api endpoint to accept query string parameters for a users list, making count optional or required, using an http get on /users.
Configure a mapping template to read a query string parameter in the API Gateway endpoint, returning a json object with count read from the parameter and a users array.
Deploy a simple mock api to a public stage using an api gateway, from dev for testing to prod for release, and test endpoints like /users and /users/{userId}.
Learn how to document and version your API with Amazon API Gateway, create documentation parts for resources, methods, and parameters, and publish swagger or OpenAPI definitions for stages.
Learn to export your AWS API Gateway REST API as Swagger or OpenAPI, with options for integration or Postman extensions and easy import into Swagger or Postman.
Deploy the latest changes to a stage, then export the API as open api 3 or swagger and test endpoints in swagger editor by pasting the specification.
Export your API as open API or swagger plus API gateway to migrate across accounts or regions; the swagger file includes integration details, but Lambda resources must be created separately.
Export your AWS serverless API as swagger with Postman support, import into Postman, and test /users and /users/{id} endpoints using a ready-made collection.
Configure API gateway to validate HTTP request parameters and headers, enforcing required query string parameters like count and a required authorization header, and test responses with 400 and 200 codes.
Configure API gateway to validate HTTP request bodies by creating a JSON schema model for a create user POST, enforcing required fields and returning 400 on bad requests.
Create a post method for /users in api gateway and attach the create user model as the request body validator using application/json; test by sending a request.
Validate the http post request body with the api gateway test client by sending json that matches the create user model, showing 200 success and 400 bad request.
Discover how lambda enables event-driven, serverless computing by running small functions triggered by events like http requests or uploads. See how vendor-managed infrastructure supports scaling and decoupled nano services.
Explore how AWS Lambda functions power serverless REST APIs by routing HTTP requests from API Gateway to Java code, scale automatically, and integrate with S3, DynamoDB, and other services.
Learn how a Java lambda function uses the request handler interface and its handle request point, with input objects, a context, and outside the handle request method initialization speeding responses.
Deploy lambda functions using zip packages in S3 or container images in ECR, configure memory and max execution time, and learn the per-invocation execution environment lifecycle and cold start duration.
Learn how cold start and warm start occur in AWS Lambda, including code download and initialization, and how provisioned concurrency preloads environments to reduce cold start delays.
Learn how AWS Lambda pricing works for serverless REST APIs, including pay-per-request, GB-second duration pricing, memory allocation, and the free tier.
Create a new maven java project in IntelliJ, select java 11, and set maven coordinates (groupId, artifactId, version) to prepare for lambda dependencies.
Add two maven dependencies, AWS Lambda Java Core and AWS Lambda Java Events, to the pom.xml, fetch them with a maven reload, and package a fat jar for AWS Lambda.
Use the Maven Shade plugin to build a fat Java jar that bundles your project and dependencies, then deploy the jar from the target directory to AWS Lambda.
Create your Java lambda function by defining a Get user handler class that implements the request handler, using API gateway proxy request and proxy response events to read and respond.
Read path parameters from the API gateway proxy request, build a Json response with user details, and return it with status 200 in a Java lambda using Google Json Library.
Create a new AWS Lambda function from scratch in the console, choose Java 11 as the runtime, assign a basic Lambda execution role, and build and upload the jar.
Deploy a Java lambda function by building a jar with Maven, uploading it to AWS, and configuring the runtime handler with the correct package, class, and handle request method.
Test your lambda function with API gateway proxy templates to simulate requests, view the JSON input, and verify path parameters before assigning the function to an API endpoint.
Create a new rest api project in amazon api gateway from scratch with an edge optimized endpoint, assign the git user lambda function to an endpoint for app users.
Create a users resource with a user id path parameter, wire http get to get user lambda via proxy integration, test, recreate resource to fix casing, yielding 200.
Learn to build and deploy serverless apps with Serverless Application Model (SAM): define lambda functions, API endpoints, and DynamoDB in a template, then test locally and deploy via the CLI.
Create an IAM user to enable CLI access for AWS resources in your serverless REST API project, granting administrator privileges for learning, and securely handling access keys.
Install the AWS serverless application model CLI on macOS using Homebrew, covering prerequisites like an AWS account, IAM credentials, Git, Docker (optional), and verifying the installation with a version check.
Install and configure the AWS CLI on macOS, run aws configure to set credentials, and verify the installation with aws --version once version two is installed.
Configure aws credentials on your computer using the aws configure command, entering the access key id, secret access key, default region us east one, and json output format.
launch a SAM project using the quick start Hello World template in Java 11 with Maven, enabling CloudWatch Application Insights and JSON structured logging for a REST API Lambda function.
Refactor this Java serverless project by renaming the project, package, and class, implement a post handler for http post requests, adjust pom.xml coordinates, and verify a successful Maven build.
Read http request bodies from API gateway proxy request events, parse json with Google Json library, generate a user id, and return json response via API gateway proxy response event.
Discover the serverless application model template file overview, exploring template sections like globals, resources, and outputs, and learn how to update a serverless hello world project after renaming Java classes.
Update the sam template resources to define a post handler lambda for a rest api, renaming the resource to the post handler class and http post /users endpoint.
Update the SAM template outputs to reveal the AWS serverless REST API endpoint URL and lambda ARN, rename resources, and demonstrate intrinsic functions like sub and get attribute.
Run and test AWS Lambda locally by editing the event.json to simulate an HTTP POST with user details in the body, then pass it as a command line argument.
Build and run a lambda function locally using a template yaml, docker, and local invoke to return a json response with first name, last name, and user ID.
Debug your lambda function locally using IntelliJ, configure remote debugging on port 5858, and set breakpoints to inspect requests, step through code, and stop with Ctrl+C.
Deploy a serverless java application to AWS using a guided deploy to create a CloudFormation stack with Lambda, API Gateway, and IAM roles; view the output URL and Lambda ARN.
Post a json body with firstName and lastName to the api endpoint to create a user and receive a json with userId; verify the endpoint via api gateway production stage.
Learn to view and tail lambda logs from the terminal with logs --name and --stack-name, and verify by sending a Postman post to /users.
Delete an AWS SAM application by running the delete command, choosing the correct stack name from the project config, confirming prompts, and removing S3 artifacts.
AWS Serverless is probably the quickest way to build a very stable REST APIs that scale to serve millions of users. A very simple Mock API can be created and deployed in minutes. An API that uses AWS Lambda compute service will take longer but how much longer will depend on the business logic that you need to write.
In this video course, you will learn what is REST API and how to create one using AWS Serverless Services.
You will learn in detail how to use Amazon API Gateway to create REST APIs, and AWS Lambda Compute Service to execute business logic. The course is designed for absolute beginners, so you do not need to have any experience with AWS Serverless.
By the end of this course, you will be able to:
Create RESTful API endpoints,
Build and deploy API with AWS SAM,
Validate HTTP request body and request parameters,
Transform HTTP request body into a different model,
Transform HTTP response JSON into a different one,
Deploy APIs into different stages,
Perform Canary Release Deployments and shift traffic between different versions of APIs,
Publish multiple versions of Lambda functions and shift traffic between these functions,
Document and Export REST API,
Implement User Sign-up with Amazon Cognito,
Learn to use Cognito Authorizer to control who can access your API in Amazon API Gateway,
Implement custom Lambda Authorizer that validates JWT,
Secure API endpoints with API Keys and learn to configure requests Throattling and Quota,
Unit Test AWS Lambda functions,
Build CI/CD Pipeline using AWS CodeCommit, AWS CodeBuild and AWS CodePipeline developer tools.
If you want to learn how to build REST APIs quickly, without starting, configuring, and managing any servers, then this course is for you.