
Follow the course in order, download and reference the source code, and master debugging with breakpoints and error messages to efficiently build restful microservices with Spring Boot.
Explore microservices as a fine-grained, loosely coupled set of small web services, each handling a single responsibility and deployable independently via http in the cloud.
Learn to download, install, or use Postman’s web version to send HTTP requests and inspect responses. Set up a workspace and explore the Postman interface to create and send requests.
Navigate Postman's user interface, create requests in collections, test get and other http methods against a local api, and generate curl or other language code snippets.
Master restful uris by structuring resources and collections with nouns, plurals, and path parameters to access specific resources like users and messages.
Learn how http methods drive create, read, update, and delete operations in a Spring Boot microservice, using post for create, get for read, put for update, and delete for removal.
Explain how http content-type and accept headers select json or xml payloads, enabling server-side json-to-java object conversion and the need to configure supported formats to avoid errors.
Install the Java development kit from Oracle, download Java Standard Edition, confirm the version, and set JAVA_HOME on Mac OS for use with Spring Tool Suite or NetBeans.
Download and install Sprint tools for Eclipse to build and debug Spring microservices, using the sprint tools download page and install via macOS DMG.
Start building a restful web service with Spring Boot in this quick-start section, and decide whether to skip by assessing your knowledge of basic web services and Spring Cloud.
Learn how to create a new spring boot project quickly with spring initializer, select maven and java, and add web dependencies for RESTful services and tomcat deployment.
Create a user rest controller class by annotating with RestController and RequestMapping, exposing endpoints under /users to handle create, update, and delete user operations.
Build a Spring Boot REST API with get, post, put, and delete methods bound to mappings to manage user details via CRUD operations, returning placeholder strings before JSON payload integration.
Run a Spring Boot web service by configuring and launching the app, then verify CRUD endpoints via HTTP methods (GET, POST, PUT, DELETE) in Postman on port 8080.
Learn to read a user ID from the URL path using the @PathVariable annotation in a /users/{id} endpoint, bind the path value to a method parameter, and test with Postman.
Learn how to read and use query string parameters in Spring Boot microservices, implementing page and limit for paginated /users responses with @RequestParam, and handling required vs optional parameters.
Learn to make query parameters optional or required in a spring boot GetUsers method, assign default values, and avoid null pointer errors by handling nulls.
Create a user rest object with first name, last name, email, and user id, and return it as JSON (or XML) from the get user details API.
Learn how to configure a Spring Boot REST endpoint to return user details in XML or JSON by using Accept headers and multiple media types, enabling XML support with Jackson.
Learn to control http responses in a spring boot service by returning a response entity with a body, status, and optional headers using codes like 200, 400, 401, and 500.
Learn to handle http post requests and read json or xml payloads by binding the request body to a Java model with @RequestBody.
Store user records temporarily in an in-memory Java map and manage post, get, and delete mappings in a Spring Boot app, returning JSON or XML.
Implement centralized exception handling in a Spring restful app using controller advice and exception handler to return structured error responses (json or xml) for null pointer and other exceptions.
Create a custom error message class with timestamp and message, then return it in the response body, letting the framework serialize to json or xml.
Implement a specific exception handler for null pointer exceptions using a dedicated method, customize business logic, and test with a custom user service exception.
Define and throw a custom runtime exception in a Spring Boot REST service, then catch it with a dedicated exception handler to return a tailored message to clients.
Learn to catch multiple exceptions with one method in a spring boot controller advice by listing exception classes in the handler annotation and testing with debugging and postman.
Learn to implement dependency injection in a Spring Boot REST app by creating a user service interface and implementation. Autowire into the controller to enable independent testing with mocks.
Learn constructor based dependency injection in Spring by injecting a utility class into a user service, using the @Autowired and @Service annotations, with Spring auto-wiring components at runtime.
Learn to build and run a Spring Boot restful web service as a standalone executable jar with an embedded Tomcat, using Maven, and test with Postman.
Discover how the Eureka discovery service, a Netflix project now in Spring Cloud, lets microservices register and discover each other, enabling automatic scaling and seamless API gateway coordination.
Start building a users microservice that handles registration and login, plus get, update, and delete user details, registers with a Eureka server, and can be tested via Postman.
Create a new Spring Boot users microservice to manage user details via a web API and act as a Netflix Eureka client, connecting to a Eureka discovery server.
Create a new rest controller in the user's microservice presentation layer to expose a /users/status endpoint via @RestController, @RequestMapping, and @GetMapping that returns 'working'.
Start the Eureka discovery server and the users microservice to register with Eureka, then verify the registration on the Eureka dashboard and test the /users/status/check endpoint.
Learn to set up a paired microservices architecture with a new account management service and a users service, register them with Eureka, and prepare for API gateway integration.
Create a new Spring Boot Project
Create a new RestController
Enable Eureka Discovery Client
Register the account management microservice with the Eureka discovery server and verify its status at /account/status/check; then register the users microservice and confirm both are running.
Switch from Zul to Spring Cloud API gateway, aligning Spring Boot and Spring Cloud versions. Follow new lessons on Spring Cloud API gateway integration with the config server.
Introduce Zuul API gateway as a single entry point for microservices, routing requests via Eureka and Ribbon, with JSON web token validation.
Create a spring boot microservice that acts as a Zuul api gateway by adding web, devtools, discovery, and Zuul dependencies and configuring it as a Eureka client.
Run the Eureka discovery server and microservices, then use the Zul API gateway as a single entry point to access the users web service and account web service.
Explore how the Zoo gateway acts as a load balancer and router with the pre-packaged ribbon, delivering a default configuration that balances http requests across multiple user microservice instances.
Start multiple instances of the users microservice with a discovery server and Eureka, assigning unique instance ids and ports either randomly or via command line arguments using application properties.
Discover how the Zul api gateway load balancer distributes http requests across multiple microservice instances, revealing each instance's port via a status check.
Note that Zul API gateway is in maintenance mode and introduces Spring Cloud API gateway to route http requests to microservices, with migration guidance and config server setup.
Learn how Spring Cloud Gateway routes http requests to microservices via Eureka Discovery Service, with built-in and custom filters, including jwt validation for secure routing.
Create a Spring Boot API gateway project with Spring Cloud Gateway, add routing and WebFlux dependencies, and include a discovery client to register with Eureka.
Enable discovery locator in spring cloud gateway to auto map http requests to Eureka-registered microservices using the service name, then adjust with lowercase service id settings for URL routing.
Configure a route in Spring Cloud API gateway to route requests to Eureka-registered microservices using path and method predicates, and remove cookies with a filter for JWT validation.
Start multiple instances of the users microservice with a discovery server, assign unique instance IDs, and verify each registration on the Eureka dashboard.
Start multiple instances of users microservice and verify spring cloud api gateway load balances requests among them. Use an environment object to read instance ports and observe routing via Eureka.
This course requires you to download Docker Desktop. If you are a Udemy Business user, please check with your employer before downloading software.
This video course is for Beginners who have never build RESTful Web Services and Microservices before. It will guide you step-by-step through basics and will help you create and run RESTful Microservices from scratch. You will learn how to run Microservices on your own developer's machine as well as in Docker Containers on AWS EC2 Linux machines.
By the end of this course, you will have your own RESTful Spring Boot Microservices built and running in Spring Cloud.
You will learn how to create and run your own:
RESTful Microservices,
Eureka Discovery Standalone Server,
Eureka Discovery Server Cluster,
Zuul API Gateway,
Spring Cloud API Gateway,
Load Balancer,
Spring Cloud Config Server,
You will learn to use:
Spring Cloud Bus and Rabbit MQ,
Spring Boot Actuator
You will also learn how to implement for your REST API features like:
User Authentication(Login) and,
User Authorization(Registration),
Role-based access control(RBAC)
You will learn to use:
Spring Security and JWT
You will learn how to use:
Spring Data JPA to store user details in a database,
H2 in-memory database and a database console,
MySQL database server,
Postman HTTP Client,
Spring Tool Suite,
Spring Initializer
This course also covers how to:
Trace HTTP Requests with Spring Cloud Sleuth and Zipkin(Distributed tracing)
Aggregate log files in one place(Centralized logging) with ELK stack(Logstash, Elasticsearch, Kibana).
You will also learn how to:
Start up AWS EC2 Linux machine,
Install Docker,
Create Docker images,
Run Microservices in Docker containers on multiple EC2 Linux machines in Amazon AWS Cloud.