We may earn an affiliate commission when you visit our partners.
Course image
Ramesh Fadatare (Java Guides)

In this course, you will learn how to build REAL-TIME REST APIs by developing a complete Blog application and you will also learn how to deploy it on the AWS cloud.

Read more

In this course, you will learn how to build REAL-TIME REST APIs by developing a complete Blog application and you will also learn how to deploy it on the AWS cloud.

Well, we will follow the Real-time industry-standard project development approach in this course.

Important: This course supports Spring Boot version 3+ and Spring Security version 6+.

The source code and PDF files (class notes) are available for download.

This course is for advanced learning so you need to have Spring boot basics understanding. But don't worry I have added a Spring Boot crash course for Beginners at the end of this course so if you are a beginner then first learn the Spring Boot Crash Course for Beginners lectures.

What is Spring Boot?

Spring Boot is an opinionated framework that helps developers build Spring-based applications quickly and easily.

The main goal of Spring Boot is to quickly create Spring-based applications without requiring developers to write the same boilerplate configuration again and again.

Spring Boot is a very popular framework for developing REST web services and microservices.

You will learn the below topics in this course:

  • Learn how to build great REST APIs for Blog App using Spring Boot, Spring Security, JWT, Spring Data JPA (Hibernate), MySQL database

  • Learn REST basics - Resource, Sub-resource

  • Learn Transaction Management with Spring Boot and Spring Data JPA

  • Learn how to deploy the Spring boot Blog app on AWS cloud (production)

  • Dockering Spring Boot Application Step-by-Step

  • Dockering Spring Boot My

Enroll now

What's inside

Learning objectives

  • Learn building rest api’s for blog app using spring boot, spring security, jwt, spring data jpa (hibernate), mysql database.
  • Learn how to build crud rest apis in spring boot project
  • Learn how to build crud rest api's for one-to-many relationship - /posts/{postid}/comments/{commentid}
  • Learn how to build rest apis for pagination and sorting in spring boot project
  • Learn how to build rest api's for search / filter rest api in spring boot project
  • Learn how to build rest api’s for login and signup in spring boot project
  • Learn how to use lombok library
  • Learn how to use dto’s
  • Learn spring boot rest api exception handling
  • Learn spring boot rest api validation
  • Learn how to use spring security in spring boot project and how to perform in-memory and db authentication and authorization
  • Learn how to secure rest apis ( role based security) in spring boot project
  • Learn how to write query methods using spring data jpa
  • Learn one-to-many and many-to-many jpa/hibernate mappings
  • Learn how to test rest api’s using postman rest client
  • Learn what is jwt, how it works and how to configure jwt ( json web token) in spring security
  • Learn how to use jwt with login api and secure rest apis using jwt
  • Learn important 4 versioning rest api strategies
  • Learn rest apis documentation with swagger ui
  • Test spring boot rest apis with jwt using swagger ui
  • Learn customizing swagger rest documentation with annotations
  • Learn how to add profiles the spring boot project
  • Learn transaction management with spring boot and spring data jpa
  • Learn how to deploy spring boot blog app on aws cloud (production)
  • Learn spring data jpa fundamentals
  • Dockering spring boot application step by step
  • Dockering spring boot mysql crud application step by step
  • Docker compose - dockering spring boot mysql crud application step by step
  • Show more
  • Show less

Syllabus

Introduction
Course Introduction and What You'll Learn in this Course?
Best Way to Take this Course and How to Get Help
My Top Udemy Courses - Don't Skip
Read more
Download Source Code and PDF Files (Class Notes)
This Course Supports Latest Spring Boot 3, Spring Security 6 and JWT
Important for Beginners - Don't Skip
Interview Preparation - Don't Skip
Setting Up Your Development Environment
Guide to Setup Development Environment
Install Java JDK 17+ on Windows 10
Install IntelliJ IDEA in Windows 10 - IntelliJ Community (FREE) Edition
Install and Setup Spring Tool Suite 4 (STS) in Windows 10 - For STS Users
Install Lombok in Eclipse STS (Spring Tool Suite) IDE - For STS Users
Install MySQL Server 8 and MySQL Workbench in Windows 10
End of this sections, students able to understand about REST and important REST related definitions with examples.

In this lecture, you will learn what is REST, Rest Architecture, and REST Architecture Constraints.

In this lecture, you will learn REST Key Concepts - Resource, URI and Sub-resource

In this lecture, you will learn important HTTP methods

In this lecture, you will learn important HTTP Status Codes

REST API Quiz - Test Yourself
Lecture Notes - REST API Basics and Key Concepts
Introduction to Spring Boot
What is Spring Boot?
Spring Boot Features
Creating Your First Spring Boot Project
Understanding Spring Boot Project Structure
Spring Boot Starters Feature
Spring Boot Starter Parent
Spring Boot Auto Configuration Feature - Theory
Spring Boot Auto Configuration Feature - In an Action
Understanding @SpringBootApplication Annotation
Spring Boot REST API Development Basics (Covered Important Annotations)
Section Introduction
Create Spring Boot Project using Spring Initializr and Import in IntelliJ IDE
Create Simple Spring Boot REST API - @GetMapping
Spring Boot REST API That Returns Java Bean as JSON
Create Spring Boot REST API That Returns List as JSON
Spring Boot REST API with Path Variable - @PathVariable
Spring Boot REST API with Request Param - @RequestParam
Spring Boot POST REST API - @PostMapping and @RequestBody
Spring Boot PUT REST API - @PutMapping and @RequestBody
Spring Boot DELETE REST API - @DeleteMapping
Using Spring ResponseEntity to Manipulate the HTTP Response - ResponseEntity
Define Base URL for REST API’s in Spring MVC Controller - @RequestMapping
Download Source Code of this Section
End of this sections, students able to understand clear picture of building REST APIs
Blog Application - High Level Requirements
Selecting The Technology Stack for Blog App
Identify Resources for Blog Application
Spring Boot Application Architecture
REST API Design for Post Resource
REST APIs Design for Comment Resource
REST API Design for Signup/Register and Signin/Login
End of this sections, students able to get a hand's on experience on building REST API's using Spring Boot
Use Spring Boot 3 and Java 17+
Create and Set up Spring Boot Project
Create Spring Boot Project Structure
Configure MySQL Database
Important Note on Hibernate Dialect
Creating JPA Entity - Post Entity
Creating JPA Repository -PostRepository
Creating Custom Exception - ResourceNotFoundException
Creating DTO Class - PostDto
Create Post REST API -Overview
Create Post REST API - Coding
TEST Create Post REST API using Postman client
Get All Posts API - Overview
Get All Posts REST API - Coding
Get Post By Id REST API - Overview
Get Post By Id REST API - Coding
Update Post REST API - Overview
Update Post REST API - Coding
Delete Post REST API - Overview
Delete Post REST API - Coding
Quiz for this section of the lectures - Test Yourself
Pagination and Sorting Support
Pagination and Sorting Overview
Pagination Support for Get All Posts REST API
Customizing Pagination API Response
Sorting Support for Get All Posts REST API
Ordering in Sorting API - ASC and DESC
Refactoring Hardcoded Values for Paging and Sorting
End of this sections, students able to understand how to build a REST API's for One to Many relationship.
Creating JPA Entity - Comment
Creating JPA Repository - CommentRepository
Creating DTO Class - CommentDto
Create Comment REST API
Test Create Comment REST API using Postman Client
Get All Comments By Post Id REST API
Get Comment By Id REST API
Update Comment By Id REST API
Delete Comment REST API
End of this sections, students able to understand how to use ModelMapper library in Spring boot project to Map Entity to DTO and Vice Versa.
Map Post Entity to Post DTO using ModelMapper
Map Comment Entity to Comment DTO using ModelMapper
Refactoring GetPostById and GetAllPosts REST API

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores industry-standard REST APIs as they are used in the real world
Develops REST APIs for a Blog Application, offering a practical, applied approach
Covers JWT tokenization, a core skill in protecting modern web applications
Includes a section on deploying the application to AWS, a key cloud provider
Offers a comprehensive set of lectures, notes, and source code
Requires students to have prior experience with Spring Boot, limiting accessibility

Save this course

Save Building Real-Time REST APIs with Spring Boot - Blog App to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Building Real-Time REST APIs with Spring Boot - Blog App with these activities:
Building REST APIs with Spring Boot Tutorial
Follow a guided tutorial on building REST APIs using Spring Boot to gain a structured understanding of the concepts and best practices.
Browse courses on RESTful APIs
Show steps
  • Identify the resources and HTTP methods for your API.
  • Create Spring Boot controllers and services for handling requests.
  • Implement data access using Spring Data JPA.
  • Test and debug your API using Spring Boot Test.
Practice creating simple REST APIs
Reinforce your understanding of REST API concepts and Spring Boot fundamentals by practicing creating simple RESTful web services.
Browse courses on REST API Development
Show steps
  • Set up a Spring Boot project with REST dependencies.
  • Create a simple controller with GET and POST endpoints.
  • Handle HTTP requests and return responses.
  • Test your API using a tool like Postman.
REST API CRUD Operations Practice
Practice with creating, reading, updating, and deleting (CRUD) operations on REST APIs to solidify the concepts and reinforce your understanding of Spring Boot REST.
Browse courses on RESTful APIs
Show steps
  • Create a simple REST API using Spring Boot.
  • Implement CRUD operations (Create, Read, Update, Delete) on the API.
  • Test the API using a REST client like Postman.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Create REST APIs with JWT
Helps you understand and implement JSON Web Tokens (JWT) for securing your Spring Boot REST APIs.
Browse courses on JWT
Show steps
  • Read Spring Security documentation on JWT
  • Configure JWT in your Spring Boot application
  • Implement authentication and authorization using JWT
Follow tutorials on advanced REST API features
Enhance your knowledge of REST API development by following tutorials that cover advanced features such as security, data persistence, and authentication.
Browse courses on Spring Data JPA
Show steps
  • Find tutorials on implementing REST API security with Spring Security.
  • Learn how to use Spring Data JPA for database interactions.
  • Implement JWT-based authentication for your API.
Develop a REST API for a simple CRUD application
Reinforces your understanding of REST APIs by building a fully functional CRUD application.
Browse courses on REST API
Show steps
  • Design your database schema
  • Create Spring Boot REST controllers for CRUD operations
  • Implement repository layer using Spring Data JPA
  • Test your REST API using Postman or a similar tool
Design REST API Documentation
Create API documentation using Swagger or OpenAPI to provide clear and comprehensive documentation for your REST APIs, making them easier to understand and use.
Browse courses on Swagger
Show steps
  • Define the API endpoints and their parameters.
  • Generate documentation using Swagger or OpenAPI tools.
  • Publish the documentation online or share it with stakeholders.
Write a blog post summarizing REST API best practices
Solidify your understanding of REST API development by sharing your knowledge through a blog post. This will help you articulate the concepts and identify areas for further improvement.
Show steps
  • Research and gather information on REST API best practices.
  • Write a structured blog post outline.
  • Develop the content for each section.
  • Proofread and edit your blog post.
  • Publish your blog post on a relevant platform.

Career center

Learners who complete Building Real-Time REST APIs with Spring Boot - Blog App will develop knowledge and skills that may be useful to these careers:
REST API Developer
As a REST API Developer, you will be required to have a solid grasp of REST APIs. This course provides an in-depth understanding of REST concepts and principles, which will give you a competitive advantage in the job market. Additionally, the course also covers advanced topics such as JWT and Swagger, which are essential for modern REST API development.
Java Backend Developer
Many of the concepts and technologies taught in this course are commonly used in the field of Java Backend Development. Learning these concepts will be sure to help in this field. For example, this course teaches about how to use Spring Security. Knowledge of Spring Security will increase a resume's competitiveness for Java Backend Developer jobs.
Web Services Architect
This course provides a comprehensive overview of REST APIs, Spring Boot, and SQL. Taking this course can help aspiring Web Services Architects gain a better understanding of the underlying technologies used in web services, which will give them a competitive advantage in the job market.
Cloud Architect
Cloud Architects need to have a deep understanding of how to design and deploy software systems in the cloud. This course covers Spring Boot, which is a popular framework for building cloud-native applications. Taking this course will help Cloud Architects gain a better understanding of how to build and deploy software systems in the cloud.
Full-Stack Developer
Since a Full Stack Developer must have a wide range of skills, a course that covers multiple concepts like this one may be helpful. After taking this course, you will have a foundational understanding of REST APIs, Spring Boot, and SQL, which will all be useful for advancing your career as a Full Stack Developer.
Web Developer
This course may be useful for Web Developers as it covers various aspects of web development, including REST APIs, Spring Boot, and SQL. Taking this course will help build a foundation for a career in Web Development.
Information Security Analyst
Information Security Analysts need to have a strong understanding of the security implications of software systems. This course covers Spring Security, which is a commonly used framework for securing web applications. Taking this course may be helpful for aspiring Information Security Analysts as it will provide them with a better understanding of how to build secure software systems.
Software Engineer
This course may be useful for aspiring Software Engineers as it covers a wide range of topics in Spring Boot, REST APIs, and SQL. Taking this course will help build a foundation for a career in Software Engineering.
Security Engineer
Security Engineers need to have a strong understanding of the security implications of software systems. This course covers Spring Security, which is a commonly used framework for securing web applications. Taking this course will help Security Engineers gain a better understanding of how to build secure software systems.
DevOps Engineer
DevOps Engineers need to have a broad understanding of both development and operations. This course covers Spring Boot, which is a popular framework for building web applications. Taking this course may be helpful for aspiring DevOps Engineers as it will provide them with a better understanding of how to build and deploy web applications.
Software Project Manager
This course may be useful for Software Project Managers as it covers various aspects of software development, including REST APIs, Spring Boot, and SQL. Taking this course will help build a foundation for a career in Software Project Management.
Systems Architect
Systems Architects need to have a deep understanding of how to design and develop software systems. This course can help you build a foundation in these areas by teaching you important concepts such as REST APIs, Spring Boot, and SQL.
Data Scientist
This course covers SQL, which is a commonly used language for working with data. Taking this course may be helpful for aspiring Data Scientists as it will provide them with a strong foundation in data analysis and manipulation.
IT Manager
IT Managers need to have a broad understanding of various technologies, including REST APIs, Spring Boot, and SQL. Taking this course will help IT Managers expand their knowledge and stay up-to-date with the latest trends in software development.
Database Administrator
This course may be useful for Database Administrators as it covers SQL, which is a commonly used database language. Taking this course will help build a foundation for a career in Database Administration.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Building Real-Time REST APIs with Spring Boot - Blog App.
Provides a comprehensive overview of RESTful web services, including their architecture, design, and implementation. It valuable resource for both beginners and experienced developers who want to learn more about RESTful web services.
Provides a comprehensive overview of REST API design best practices. It covers a wide range of topics, including REST API architecture, design patterns, and security. It valuable resource for developers who want to learn more about REST API design.
这本书提供了对重构原则和实践的全面概述。它涵盖了广泛的主题,包括代码重构,设计模式和单元测试。对于想要了解有关重构的更多信息的开发人员来说,这是一本宝贵的资源。
Provides a comprehensive overview of clean code principles and practices. It covers a wide range of topics, including code readability, maintainability, and testability. It valuable resource for developers who want to learn more about clean code.
本书全面介绍了设计模式原则和实践。它涵盖了广泛的主题,包括创建模式,结构模式和行为模式。对于想要了解更多有关设计模式的开发人员来说,这是一个宝贵的资源。
Provides a comprehensive overview of domain-driven design principles and practices. It covers a wide range of topics, including domain modeling, bounded contexts, and event sourcing. It valuable resource for developers who want to learn more about domain-driven design.
这本书全面介绍了敏捷软件开发原则和实践。它涵盖了广泛的主题,包括软件设计,测试和调试。对于希望了解有关软件开发的更多信息的开发人员来说,这是一本宝贵的资源。
Comprehensive guide to using Hibernate for Java persistence. It covers a wide range of topics, including Hibernate basics, object-relational mapping, and performance tuning. It valuable resource for developers who want to learn more about Hibernate.
Is the official reference manual for MySQL. It provides a comprehensive overview of MySQL, including its syntax, commands, and functions. It valuable resource for developers who want to learn more about MySQL.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Building Real-Time REST APIs with Spring Boot - Blog App.
The Complete Spring Boot Development Bootcamp
Most relevant
[NEW] Spring Boot 3, Spring 6 & Hibernate for Beginners
Most relevant
Building an SPA Using Spring Framework 5 and Angular
Most relevant
Building HTTP APIs with Spring
Most relevant
Building Your First App with Spring Boot 2 and Angular 5
Most relevant
Learn AWS - Deploy Java Spring Boot to AWS Elastic...
Most relevant
Spring Data Repositories
Most relevant
Master Microservices with Spring Boot and Spring Cloud
Most relevant
RESTful Web Services, Java, Spring Boot, Spring MVC and...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser