What you'll learn:
- You will be able to develop RESTful web services with Spring Boot 2 from scratch.
- You will build a real time project using Spring Boot Data JPA & H2 database wherein same project will be leveraged for learning all the modules in an incremental manner.
- You will learn about using github to manage the incremental development process for SpringBoot applications both via git command line and using STS IDE.
- You will understand how to implement Exception Handling using Spring 5 latest ResponseStatusException package.
- You will be able to design and implement Global Exception handling and Validation for RESTful Services.
- You will understand and implement JPA OneToMany Association
- You will understand in depth of HATEOAS concepts and implement Self Linking and Relationship linking concepts using HATEOAS.
- You will implement internationalisation feature for RESTful Services.
- You will be able to understand and design filtering solutions for RESTful webservices with static, dynamic filtering methods and also using @JsonView.
- You will understand DTOs concept (Data Transfer Objects) and implement Entity to DTO conversion using ModelMapper and MapStruct Dependencies.
- You will understand the options available for RESTful APIs versioning and implement all the options available.
- You will learn about importance of API Documentation for RESTful APIs and implement SWAGGER integration with UserManagement Service which you will build as part of this course.
- You will understand and implement spring boot actuator and Spring Boot admin features for RESTful Services.
- You will learn about Micrometer and how it can export metrics to multiple monitoring tools. You will implement exporting metrics via JMX and also to a SAAS solution named AppOptics and create dashboards, verify timeseries data, live metrics in AppOptics.
******* Course Overview *******
Welcome to this Amazing course on Master RESTful API s using Spring Boot 2 in 100 Steps. The below are the list of modules covered in this course.
Course Modules
01. Introduction
02. Manage Spring Boot Projects via Github & HelloWorld REST service
03. Build RESTful APIs using Spring Data JPA and H2 Database
04. Exception Handling with ResponseStatusException - Spring 5 Latest
05. Validations & Global Exception Handling
06. SpringBoot - JPA OneToMany Association
07. SpringBoot - HATEOAS
08. SpringBoot - Internationalisation
09. SpringBoot - Filtering
10. SpringBoot - DTOS - Data Transfer Objects
11. SpringBoot - Versioning & Content Negotiation
12. SpringBoot - Swagger Integration
13. SpringBoot - Actuator & Admin
14. SpringBoot - Actuator & Micrometer
Each of my courses come with
Amazing Hands-on Step By Step Learning Experiences
Real Implementation Experience
Friendly Support in the Q&A section
30 Day "No Questions Asked" Money Back Guarantee!
***************Section wise course details**********************
Module 1: Introduction
Module 01: Introduction
01 Step 01: Course Introduction
01 Step 02: Introduction to RESTful API
Module 02: Manage Spring Boot Projects via Github & HelloWorld REST service
02 Step 00: Github & HelloWorld Introduction
02 Step 01: Create Spring Boot base project from spring initializer
02 Step 02: Introduction for managing Spring Boot projects via github
02 Step 03: Github Base Setup
02 Step 04: Add GIT Repository to Spring Tool Suite IDE
02 Step 05: Create a Simple Hello World RESTful Service which returns a String
02 Step 06: Create a Simple Hello World REST Service which returns a Bean (JSON)
02 Step 07: GIT Commit & Push Hello World RESTful service changes to Github
Module 03: Build RESTful APIs using Spring Data JPA and H2 Database
03 Step 00: Introduction to Build RESTful APIs with JPA
03 Step 01: Usecase Introduction
03 Step 02: Verify pom.xml for all Dependencies
03 Step 03: Update application.properties required for JPA based RESTful Services
03 Step 04 01: Create User Entity - Understand @Entity Annotation
03 Step 04 02: Create User Entity - Understand @Table Annotation
03 Step 04 03: Create User Entity - Define Variables, Getters & Setters
03 Step 05: Understand and Implement changes related to H2 Database
03 Step 06: Create User Repository - @Repository
03 Step 07: Implement getAllUsers RESTful Service - @Service, @RestController
03 Step 08: Test getAllUsers RESTful Service - Using REST Client POSTMAN
03 Step 09: Implement createUser RESTful Service - @PostMapping
03 Step 10: Implement getUserById RESTful Service - @GetMapping
03 Step 11: Implement updateUserById RESTful service - @PutMapping
03 Step 12: Implement deleteUserById RESTful Service - @DeleteMapping
03 Step 13: Implement getUserByUsername RESTful Service - @GetMapping
03 Step 14: GIT Commit, Push, Merge to Master and Push
Module 04: Exception Handling with ResponseStatusException - Spring 5 Latest
04 Step 00: Introduction to Exception Handling using ResponseStatusException
04 Step 00: Create git branch - local & remote
04 Step 01: Implement ResponseStatusException handling for getUserById
04 Step 02: Implement ResponseStatusException for updateUserById RESTful Service
04 Step 03: Implement ResponseStatusException for deleteUserById RESTful Service
04 Step 04: Implement ResponseStatusException for createUser RESTful Service
04 Step 05: Implement HTTP Status code & Location Header for createUser Service
04 Step 06: GIT Commit, Push, Merge to Master and Push
Module 05: Validations & Global Exception Handling
05 Step 00: Introduction to Spring Boot - Validations & Global Exception Handling
05 Step 00: Create git branch for Validations & Global Exception Handling
05 Step 01: Implement Bean Validation - @Valid
05 Step 02: Implement custom Global Exception Handler - @ControllerAdvice
05 Step 03: Implement HttpRequestMethodNotSupportedException in GEH
05 Step 04: Implement UserNameNotFoundException in GEH - @ExceptionHandler
05 Step 05: Path Variable Validation & ConstraintViolationException in GEH
05 Step 06: Implement Global Exception Handling using @RestControllerAdvice
05 Step 07: Switching between @ControllerAdvice and @RestControllerAdvice
Module 06: SpringBoot - JPA OneToMany Association
06 Step 00: Need for JPA OneToMany for HATEOAS
06 Step 00: Introduction to JPA OneToMany Association
06 Step 01: Create git branch for JPA OneToMany Association
06 Step 02: Create Order Entity and @ManyToOne Association
06 Step 03: Update User entity with @OneToMany Association
06 Step 04: Implement "getAllOrders" RESTful Service
06 Step 05: Implement "createOrder" RESTful Service
06 Step 06: Implement "getOrderByOrderId" RESTful Service
06 Step 07: GIT Commit, Push, Merge to Master and Push
Module 07: SpringBoot - HATEOAS
07 Step 00: Introduction to Spring Boot - HATEOAS
07 Step 00: Create git branch for HATEOAS
07 Step 01: Add HATEOAS Dependency in pom.xml
07 Step 02: Extend User and Order Entities with ResourceSupport
07 Step 03: Create new User and Order Controllers for HATEOAS Implementation
07 Step 04: Implement self link in getUserById Method
07 Step 05: Implement self and relationship links in getAllUsers Method
07 Step 06: GIT commit code, push to remote, merge to master
Module 08: SpringBoot - Internationalisation
08 Step 00: Introduction to Internationalisation
08 Step 00: Create git branch for Internationalisation
08 Step 01: Create LocaleResolver and ResourceBundleMessageSource Beans
08 Step 02: Implement RESTful Service with Internationalisation
08 Step 03: GIT Commit, Push, Merge to Master and Push
Module 09: SpringBoot - Filtering
09 Step 01: Implement Static Filtering using @JsonIgnore and @JsonIgnoreProperties
09 Step 02: Implement Dynamic Filtering using MappingJacksonValue
09 Step 03: Implement Dynamic Filtering with MappingJacksonValue & @RequestParam
09 Step 04: Dynamic Filtering - git Commit and Push code
09 Step 05: Introduction to Filtering using @JsonView
09 Step 06: Implement Filtering using @JsonView
Module 10: SpringBoot - DTOS - Data Transfer Objects
10 Step 01: ModelMapper Introduction
10 Step 02: ModelMapper Configuration Setup
10 Step 03: Implement Methods using ModelMapper
10 Step 04: MapStruct Introduction
10 Step 05: MapStruct Configuration Setup
10 Step 06: MapStruct - Create UserMapper and Implement getAllUsers Method
10 Step 07: MapStruct - Implement getUserById Method using MapStruct UserMapper
Module 11: SpringBoot - Versioning & Content Negotiation
11 Step 00: Versioning Introduction
11 Step 01: Create DTO's required for Versioning Implementation
11 Step 02: Implement URI Versioning
11 Step 03: Implement Request Parameter Versioning
11 Step 04: Implement Custom Header Versioning
11 Step 05: Implement Media Type Versioning
11 Step 06: Implement & Test Content Negotiation
11 Step 07: GIT Commit Code & Push for Content Negotiation branch
Module 12: SpringBoot - Swagger Integration
12 Step 00: Introduction to Swagger
12 Step 01: Add Springfox Dependencies to pom.xml and Create SwaggerConfig file
12 Step 02: Adding API Info to modify header part of our documentation
12 Step 03: Restrict scope of swagger document generation using API Base packages
12 Step 04: Auto populate documentation for JSR-303 Validations
12 Step 05: Adding Swagger Core Annotations to Model class
12 Step 06: Adding Swagger Core Annotations to Controller classes
Module 13: SpringBoot - Actuator & Admin
13 Step 00: SpringBoot Actuator Introduction
13 Step 01: Add Actuator Dependency in pom.xml
13 Step 02: Expose all Actuator Endpoints and discuss about them
13 Step 03: SpringBoot Admin Introduction
13 Step 04: SpringBoot Admin - Base Setup
13 Step 05: Point SpringBoot Client Application to SpringBoot Admin Server
13 Step 06: Test the features in SpringBoot Admin Server
Module 14: SpringBoot - Actuator & Micrometer
14 Step 00: Introduction to SpringBoot Micrometer
14 Step 01: Add Micrometer Dependency to pom.xml
14 Step 02: Integrate with JMX and view metrics in JConsole
14 Step 03: Integrate with AppOptics to export metrics and View metrics in AppOptic
14 Step 04: Verify Metrics in AppOptics and Create Metrics Dashboards.