
Discover how to build microservices with Spring Boot and Spring Cloud, create REST APIs, manage config, enable service discovery and tracing, and integrate React frontend with Kafka and RabbitMQ messaging.
Download the free IntelliJ IDEA Community Edition from the site and install it on Windows 11, then launch the IDE and accept the user agreement for JVM and Android development.
Explore how the four core http methods get, post, put, and delete drive rest api interactions, including reading data, creating resources, updating existing information, and removing resources.
Explore how servers respond to restful requests using http status codes, including 200, 201, 204, 400, 401, 404, 500, and 503, plus 3xx redirection and 1xx informational categories.
Discover how to assign right http methods to rest resources, using get for retrieving data, post for creating, put for full updates, patch for partial updates, and delete for removal.
Design clean and consistent JSON responses that clearly represent REST API resources. Return resources as flat objects or arrays with descriptive keys, and provide structured error responses.
Use content type and accept HTTP headers to declare request and response formats, typically JSON, ensuring consistent, predictable, and interoperable REST API behavior.
Explore the real differences between get and post in rest api, covering data retrieval versus submission, visibility in the url versus the body, idempotency, caching, data limits, and security considerations.
Learn when to use post for creating new resources and when to use put for updating or replacing resources at a known uri, highlighting idempotency and expected responses.
Compare http and https, showing how https uses ssl/tls encryption, certificates, and a browser padlock to ensure privacy and trust; explain when to use each for security, performance, and seo.
Compare rest and soap to decide API approaches for microservices, outlining architecture, formats like json and xml, transport, performance, security, and enterprise use cases.
Master spring boot rest api basics and key spring mvc annotations including @RestController, @GetMapping, @PostMapping, @RequestBody, and @RequestMapping to build and return json Java beans and lists, with ResponseEntity.
Create a Spring Boot rest api project with Spring Initializr, import it into IntelliJ, add the Spring Web Starter, and run on the embedded Tomcat server at port 8080.
Create a Spring Boot REST API that handles path variables with @PathVariable, binding URI template variables to method arguments, and test it in a browser.
Create a spring boot REST API that uses @RequestParam to extract query parameters from a URL, handling single and multiple parameters with @GetMapping.
Define a class-level base URL for REST APIs in Spring MVC using @RequestMapping, simplifying endpoints in the StudentController and validating through Postman calls and HTTP status codes.
Hit a spring boot rest API endpoint; embedded Tomcat routes the request through the dispatcher servlet and handler mapping to the controller, which converts the result to JSON or XML.
Develop a rest api with Spring MVC, Spring Boot, and Spring Data JPA against a MySQL database using a three-layer architecture for user management, testing APIs with Postman.
Create a Spring Boot project in IntelliJ with Spring Initializr and Maven, using Java 17 and Spring Boot 3, including Web, MySQL, JPA, Lombok, and controller, service, entity, repository packages.
Define and implement updateUser in the service and controller layers, fetch the existing user, update first name, last name, and email, save changes, and test via Postman.
Implement the delete user rest api by updating the service and controller layers, calling repository.deleteById, and returning a 200 response with user successfully deleted. Test via Postman against http://localhost:8080/api/users/{id}.
Learn how the data transfer object (DTO) pattern enables efficient client and server communication by aggregating related data into a single response and reducing remote calls.
Refactor the create user rest api to use a user dto for data transfer, and introduce dto-to-entity conversion and future mapper class for reuse.
Create a user mapper class to consolidate common mapping logic between UserDto and User entity, and refactor the createUser flow to use mapToUserDto and mapToUser in the service.
Refactor the get user by id rest api to return a user dto by updating the controller, service, and mapper to convert user entities via userMapper.mapToUserDto, then test with postman.
Refactor the get all users API to return a list of UserDto by updating the return type, service, and controller, and mapping entities with UserMapper.
Disclaimer:
"This course requires you to download Docker Desktop from the official Docker website. If you are a Udemy Business user, please check with your employer before downloading software."
In this course, you will learn to building Microservices using Java, Spring Boot, Spring Cloud, React, Kafka, RabbitMQ, Docker, and REST API (REST Web Services).
Important Note: This course supports the latest Spring Boot 3 and Spring Cloud 2022.0.0.
In this course, we will follow the real-time industry-standard project development approach.
This course covers Spring Boot REST API development from scratch.
This course covers the REST API fundamentals from scratch.
Added new sections to master building REST APIs for Banking App and Employee App.
Added new section to master building REST APIs for One-to-Many relationship - very important in the real-world projects.
Microservices:
A Microservice is a service built around a specific business capability that can be independently deployed. So, to build large enterprise applications, we can identify the sub-domains of our main business domain and build each sub-domain as a MicroService using Domain-Driven Design (DDD) techniques. But in the end, we need to make all these microservices work together to serve the end user as if it were a single application.
Why are Spring Boot and Spring Cloud good choices for MicroServices?
Spring Boot is the most popular and widely used Java framework for building Microservices. These days, many organizations prefer to deploy their applications in a Cloud environment instead of taking on the headaches of maintaining a data center themselves. However, we need to take good care of the various aspects of making our applications Cloud-Native. There comes the beauty of Spring Cloud.
Spring Cloud is essentially an implementation of various design patterns for building Cloud-Native applications. Instead of reinventing the wheel, we can simply take advantage of various Spring Cloud modules and focus on our main business problem rather than worrying about infrastructural concerns.
What you'll learn
Build RESTful web services using Spring Boot - Learn Important Spring MVC Annotations.
Build CRUD REST APIs using Spring Boot, Spring Data JPA, and MySQL Database.
Master building REST APIs for Banking App and Employee App.
Master building REST APIs for One-to-Many relationship - very important in the real-world projects.
Building Spring Boot Microservices in IntelliJ IDEA
Microservices Communication using RestTemplate, WebClient, and Spring Cloud OpenFeign
Create Service Registry and Discovery using Spring Cloud Netflix Eureka
Load balancing with Eureka server and Open Feign using Spring Cloud LoadBalancer
Create an API Gateway using Spring Cloud Gateway
Centralized Configurations using Spring Cloud Config Server
Auto Refresh Config Changes using Spring Cloud Bus
Distributed Tracing with Spring Cloud Sleuth and Zipkin
Resilience4J: Circuit Breaker, Retry, and RateLimiter Patterns
Adding a Step-by-Step New Microservice to an Existing Project
Create React Frontend Microservice and Integrate with Backend Microservices
Learn How to Migrate Existing Projects to the Latest Version
Learn How to Generate REST API Documentation
Dockering Spring Boot Application Step-by-Step
Dockering Spring Boot MySQL CRUD Application Step-by-Step
Docker Compose for Dockerizing Spring Boot MySQL CRUD Application Step-by-Step
Event-driven Microservices using Spring Boot and Kafka
Learn how to use RabbitMQ in the Spring Boot app.
Learn how to use Kafka in a Spring Boot app.
Kafka Spring Boot - Real-World Wikimedia Project Development
Event-driven Microservices using Spring Boot and RabbitMQ
Build a Spring Boot React JS Full-Stack CRUD Web Application
Learn Functional Programming in Java
Tools and technologies used:
1. Java 17+
2. Spring Boot
3. Spring Cloud
4. Microservices
5. React
6. Resilience4J framework
7. Maven
8. IntelliJ IDEA
9. MySQL database
10. Postman
11. Kafka
12. RabbitMQ
13. Docker
Sample amazing feedback from students on this course:
Francis Dahryl N:
" One of the best learning videos. Ramesh, the instructor, will guide every student until the end."
Juan Paulo L:
"Amazing course, well structured, well documented, resourceful, if you really want to learn about microservices, spring boot and spring cloud you have to take this course now!"
Tirtha S:
"One of the best course for Microservices. Extraordinary explanations to the point. Thank you for providing us such a great course and helping us to gather the knowledge which we are required to know about microservices architecture. You are the best and Thank you once again."
Lakshman M:
"I always admire you sir. You are an Inspiration & Guide to many Java Developers. Keep Doing More Udemy Courses Sir. Thank you"
Furkan P:
"This course teaches everything you need to start with microservices. You need a Java/Spring Boot background to follow up well! Great one!"
Harsh S:
"it is very good course if you want to get your hand dirty in the spring boot microservices"
Vivek Yuvraj Pawar:
"In this course the explanation is above my expectations. in this course all concepts are deeply explained"
Sagar Talagatti:
"Instructor explains the concepts very well and demonstrates with appropriate examples. Thank you for such a good course."
ds r:
"I have no words to describe how amazing this course is. Ramesh has explained everything in such an easy to understand manner. This course covers tremendous amount of great content at one single place. After building the Restful APIs, CRUD operations, building different microservices, spring cloud features etc., he included a step to create docker file and run everything in container. Also, two other projects about Spring Kafka and RabbitMQ are included as bonus! My only suggestion would be to include another video that shows how everything can be deployed on AWS EKS. This is the best microservices course on Udemy. Period."
Priya Chondke:
"its all good covered all topics in easiest way thank you for such an excellent course"
Check out all the reviews/ratings for this course in the Reviews section of this course.