Building RESTful APIs with Spring Boot
Having developed back-end applications for more than a decade using a variety of technologies we've decided to put together a comprehensive course on how to build RESTful APIs using Java and Spring Boot - one of our favorite technology stacks.
Our course comes with an example project that builds a production ready application - that is an important differentiator for us as most other courses only address production ready concerns superficially.
Our sample project can be used as the basis for your own application saving you many times over the cost of this course.
Table of Contents
Course Objectives
Project Objectives
Project Output
Business Requirements
Development Environment Setup
Software Versions
Download and Install Java 9
Download and Install Eclipse IDE for Java EE
Setup Eclipse for Java 9
Configure JRE for Workspace
Configure Compiler Options for Project
Import Course Project
Generate Your Own Project Skeleton
Setup Eclipse with Maven
Debugging
Testing During Development
Importing the Provided Postman Request Collection
Build Your Own Request In Postman
Building OAuth-Token Request
Building User Search Request
Maven Build File
Design
Data Modeling
Entities
DDL Generation
Generate DLL from Modelling Tool
Generate DDL from the Application
Spring Boot Configuration File
application.properties
application-dev.properties
application-prod.properties
Cross Cutting Concerns
Validation
Caching
Exception Handling
Transaction Management
Logging
Metrics
Security
OAuth2
SSL
Method Level Security
URL Level Security
Implementation
RentalsUserDetails
RentalsUserDetailsService
SecurityConfiguration
AuthorizationServerSecurityConfiguration
ResourceServerSecurityConfiguration
JPA Data Converters
Application Initialization Classes
RentalApplication
JacksonConfiguration
SwaggerConfiguration
DevConfiguration
SecurityConfiguration
Application Configuration
JPA Entities
Asset.java
Associations
Primary Key
Validation
AssetItem.java
Associations
Validation
DTO (Data Transfer Objects)
Repositories
Components
Services
RESTful API Design
REST Principles
Best Practices
Searching and Pagination
Rentals API Design
Versioning
Rest Controllers
POST Request to Create a Resource
POST Requests for Search
POST Requests for Business Actions
DELETE Request to Delete a Resource
PUT Request to Update a Resource
GET Request to Get a Resource
Testing
Unit Testing
Unit Testing of Repository Classes
Unit Testing of Service and Component Classes
Unit Testing of Rest Controller Classes
Debugging Unit Tests
Integration Testing
Debugging Integration Tests