Spring REST API

This Spring REST API training course will teach you all the exciting features of this popular framework by building a complete online shopping web application

R10,995.00

Description

This Spring REST API training course will teach you all the exciting features of this popular framework by building a complete online shopping web application

Prerequisites

You should be at the level of our Advanced Java course . This course teaches you the latest tools to use in developing robust enterprise-wide Java Web Applications

Further Training

Spring / JHipster, JEE related courses

Contents

REST – an Overview

Uniform interface
Client and server
Stateless
Cacheable
Layered system
Code on demand (COD)
More on REST
Imperative and Reactive programming
Reactive Streams
Benefits of Reactive programming
Reactive programming in Java and Spring 5
RESTful web service architecture

Building RESTful Web Services in Spring 5 with Maven

Apache Maven
Creating a project with Maven
Viewing a POM file after creating a project
POM file structure
Understanding POM dependencies
Adding Log4j 2.9.1 to POM dependency
Dependency trees
Spring Boot
Developing RESTful web services
Creating a project base
Working with your favorite IDE

Flux and Mono (Reactor Support) in Spring

Benefits of Reactive programming
Reactive Core and Streams
Back pressures and Reactive Streams
WebFlux
Basic REST API
Flux
Mono
User class with Reactive – REST

CRUD Operations in Spring REST
CRUD operations in Spring REST
HTTP methods
Reactive server initialization
Sample values in the repository
getAllUsers – mapping
getAllUsers – implementation in the handler and repository
Testing the endpoint – getAllUsers
getUser – implementation in the handler and repository
Testing the endpoint – getUser
createUser – implementation in the handler and repository
Testing the endpoint – createUser
updateUser – implementation in the handler and repository
Testing the endpoint – updateUser
deleteUser – implementation in the handler and repository
Testing the endpoint – deleteUser

CRUD Operations in Plain REST (Without Reactive) and File Upload
Mapping CRUD operations to HTTP methods
Creating resources
CRUD operation in Spring 5 (without Reactive)
getAllUsers – implementation
getUser – implementation
createUser – implementation
updateUser – implementation
deleteUser – implementation
File uploads – REST API
Testing the file upload

Spring Security and JWT (JSON Web Token)
Spring Security
Authentication and authorization
JSON Web Token (JWT)
JWT dependency
Creating a JWT token
Generating a token
Getting a subject from a JWT token
Getting a subject from a token

Testing RESTful Web Services
JUnit
MockMvc
Testing a single user
Postman
Getting all the users – Postman
Adding a user – Postman
Generating a JWT – Postman
Getting the subject from the token
SoapUI
Getting all the users – SoapUI
Generating JWT SoapUI
Getting the subject from the token – SoapUI
jsoup
Getting a user – jsoup
Adding a user – jsoup
Running the test cases

Performance
HTTP compression
Content negotiation
Accept-Encoding
Content-Encoding
Server-driven content negotiation
Agent-driven content negotiation
HTTP caching
HTTP cache control
Public caching
Private caching
No-cache
Only-if-cached
Cache validation
ETags
Last-Modified/If-Modified-Since headers
Cache implementation
The REST resource
Caching with ETags

AOP and Logger Controls
Aspect-oriented programming (AOP)
AOP (@Before) with execution
Testing AOP @Before execution
AOP (@Before) with annotation
Testing AOP @Before annotation
Integrating AOP with JWT
Logger controls
SLF4J, Log4J, and Logback
Logback framework
Logback dependency and configuration
Logging levels
Logback implementation in class

Building a REST Client and Error Handling
Building a REST client
RestTemplate
Error handling
Customized exception

Scaling
Clustering
Benefits of clustering
Load balancing
Scaling databases
Vertical scaling
Horizontal scaling
Read replicas
Pool connections
Use multiple masters
Load balancing in DB servers
Database partitioning
Sharding (horizontal partitioning)
Vertical partitioning
Distributed caching
Data-tier caching
First-level caching
Second-level caching
Application-tier caching
Memcached
Redis
Hazelcast
Ehcache
Riak
Aerospike
Infinispan
Cache2k
Other distributed caching
Amazon ElastiCache
Oracle distributed cache (Coherence)

Microservice Basics
Monolithic architecture and its drawbacks
Introduction to microservices
Independence and autonomy
Resilience and fault tolerance
Automated environment
Stateless
Benefits of microservices
Microservice components
Configuration server
Load balancer
Service discovery
Circuit breaker
Edge server
Microservice tools
Netflix Eureka
Netflix Zuul
Spring Cloud Netflix
Netflix Ribbon
Netflix Hystrix
Netflix Turbine
HashiCorp Consul
Eclipse MicroProfile

PizzaManagement – Advanced CRUD

Pizza management using CRUD operations
Registration
User types
User POJO
Customer registration
Admin registration
CSR registration
Login and token management
Generating a token
Customer login
Admin login
CSR login
Pizza management
Pizza POJO
Getting a user by token
User Pizza management
Pizza controller
The UserTokenRequired interface
The UserTokenRequiredAspect class
Getting my Pizzas – customer
Allowing a user to view their single Pizza
Allowing a customer to update a Pizza
Updating a Pizza – service (PizzaServiceImpl)
Deleting a Pizza
Deleting a service – service (PizzaServiceImpl)
Deleting my Pizza – API (Pizza controller)
Admin Pizza management
Allowing a admin to view all Pizzas
Getting all Pizzas – service (PizzaServiceImpl)
Getting all Pizzas – API (Pizza controller)
The AdminTokenRequired interface
The AdminTokenRequiredAspect class
Admin updates a Pizza
Updating a Pizza by admin – service (PizzaServiceImpl)
Allowing admin to view a single Pizza
Allowing admin to delete Pizzas
Deleting Pizzas – service (PizzaServiceImpl):
Deleting Pizzas by admin – API (Pizza controller):
CSR Pizza management
CSR updates a Pizza
CSRTokenRequired AOP
CSRTokenRequiredAspect
CSR view all Pizzas
Viewing all Pizzas by CSR – API (Pizza controller)
CSR view single Pizza
CSR delete Pizzas
Deleting Pizzas – service (PizzaServivceImpl)
Deleting Pizzas by CSR – API (Pizza controller)

 

Duration and pricing

In Price Group A

Certificate

Read about our certificates

Bookings

You can download the course registration form on our home page or by clicking here

Brochure
You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.

Questions
Please email us

Schedule

On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

Additional information

course-instruction

Distance-Learning, Full-time, Part-Time