Master RESTful APIs with Spring Boot 2 in 100 Steps

Learn RESTful APIs using Spring Boot 2 with a Hands-on Step by Step Approach by building a User Management Service!

Ratings: 3.97 / 5.00




Description

******* 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.


What You Will 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.

Who Should Attend!

  • Anyone who wish to learn on how to design and develop Spring Boot RESTful APIs with Spring Boot from scratch.
  • Anyone who want to learn Step by Step with a Hands-On Approach.
  • Anyone who wants to learn how to build enterprise application backend layers with modern approach (RESTful APIs)