Урок 1.00:02:10
Install HTTP client Postman
Урок 2.00:10:42
Postman overview
Урок 3.00:11:13
Resource and Collection URIs
Урок 4.00:03:45
HTTP Methods: GET, POST, DELETE and PUT
Урок 5.00:04:14
HTTP Headers: Accept and Content Type
Урок 6.00:04:30
Introduction to Web Service Application Layers
Урок 7.00:03:24
A few suggestions
Урок 8.00:03:17
Downloading and Installing MySQL on MAC
Урок 9.00:06:15
Start MySQL Server and Login
Урок 10.00:06:26
Creating MySQL Database and a new User
Урок 11.00:03:03
Downloading and Installing MySQL Workbench
Урок 12.00:05:28
Connect to MySQL Database using MySQL WorkBench
Урок 13.00:04:16
MySQL WorkBench brief overview
Урок 14.00:05:49
Install Java Platform (JDK)
Урок 15.00:01:57
Download and Install Spring Tool Suite(STS)
Урок 16.00:06:13
Create new Spring Boot Project with Spring Tool Suite
Урок 17.00:04:43
Creating a new Spring project using Spring Boot Initializr
Урок 18.00:02:46
Create Users Rest Controller class
Урок 19.00:03:14
Adding Methods to Handle POST, GET, PUT, DELETE HTTP requests
Урок 20.00:04:37
Running Web Service Application
Урок 21.00:06:17
Update POM.XML file
Урок 22.00:04:27
Configure MySQL Database Access Details
Урок 23.00:02:21
Adding method to handle HTTP Post Request
Урок 24.00:03:22
Implementing the Create User Request Model class
Урок 25.00:06:06
Implementing Create User Response Model
Урок 26.00:04:39
Implementing the UserDto
Урок 27.00:03:20
Making use of UserRest and UserDto in RestController
Урок 28.00:03:58
Implementing Service class method
Урок 29.00:06:14
Implementing UserEntity class
Урок 30.00:01:08
Set Default Value for Email Verification Status field
Урок 31.00:05:33
Implementing UsersRepository class
Урок 32.00:05:01
Autowire UserRepository into Service class
Урок 33.00:06:13
Trying how the User Sign up works
Урок 34.00:03:47
Preventing Duplicate Entries with @Column(unique=true)
Урок 35.00:06:20
Check if user already exists
Урок 36.00:06:31
Generate User Public ID
Урок 37.00:05:23
Adding Spring Security to our project
Урок 38.00:02:54
Encrypt User Password
Урок 39.00:08:52
Make the Sign-up Web Service Endpoint Public
Урок 40.00:13:40
Migrating from WebSecurityConfigurerAdapter
Урок 41.00:01:57
Implementing User Sign-in Request Model
Урок 42.00:05:45
[Updated] Implementing loadUserByUsername()
Урок 43.00:04:35
[Updated] Implementing SecurityConstants class
Урок 44.00:02:35
[Updated]Adding Maven Dependencies to generate and validate JWT
Урок 45.00:05:55
[Updated] AuthenticationFilter Part 1. Implementing attemptAuthentication().
Урок 46.00:03:49
[Updated] AuthenticationFilter Part 2. Implementing successfulAuthenticatio().
Урок 47.00:01:40
[Updated] AuthenticationFilter Part 3. Register with HttpSecurity.
Урок 48.00:06:59
Trying how user Authentication/Login works
Урок 49.00:11:52
[Updated] Add UserId to HTTP Response Header
Урок 50.00:02:34
[Updated]Customize Login URL Path
Урок 51.00:10:33
[Updated] Implementing Authorization Filter.
Урок 52.00:04:18
Trying how User Authorization works
Урок 53.00:05:58
[Updated] Reading Token Secret from a properties file
Урок 54.00:05:06
Get User Details Resource Method
Урок 55.00:03:09
Implement Service layer method
Урок 56.00:04:00
Update UserRepository
Урок 57.00:05:38
Trying the Get User Details API Call
Урок 58.00:01:15
Update POM.XML
Урок 59.00:07:20
Responding with XML or JSON
Урок 60.00:04:26
Consuming XML or JSON
Урок 61.00:02:41
Introduction
Урок 62.00:05:40
Implementing ErrorMessages enum
Урок 63.00:03:15
Implementing UserServiceException
Урок 64.00:06:57
Handle a Specific Exception
Урок 65.00:04:14
Return Custom Error Object Representation
Урок 66.00:04:57
Handle All Other Exceptions
Урок 67.00:05:49
Update User Details Resource Method
Урок 68.00:05:39
Implementing Service Layer Method
Урок 69.00:02:55
Trying the Update User Details API Call
Урок 70.00:06:05
Delete User Resource Method
Урок 71.00:02:45
Implementing Service Layer Method
Урок 72.00:04:55
Trying the Delete User API Call
Урок 73.00:03:40
The Get Users Request URL
Урок 74.00:05:39
The Get Users Resource Method
Урок 75.00:06:02
Get Users Service Layer Method
Урок 76.00:05:53
Trying the Get Users API Call
Урок 77.00:02:44
Running Your Web Services App without STS
Урок 78.00:04:23
Create Context Path to Your Web Service
Урок 79.00:04:35
Run Your App as a Java application
Урок 80.00:04:26
Generating WAR file
Урок 81.00:13:32
Install Apache Tomcat on Windows
Урок 82.00:02:14
Downloading Apache Tomcat on Mac
Урок 83.00:02:52
Starting and Stopping Apache Tomcat
Урок 84.00:02:40
Creating a new Apache Tomcat User
Урок 85.00:04:42
Deploying Your Web Service to Apache Tomcat
Урок 86.00:02:50
Introduction
Урок 87.00:12:46
[Updated] Startup your own Linux virtual server in Amazon EC2
Урок 88.00:03:48
Configure Virtual Server Firewall Rules(Security Group)
Урок 89.00:04:41
Connect To Your Server via SSH
Урок 90.00:03:35
Update Server Software Packages and Update Java
Урок 91.00:10:28
Download & Install Apache Tomcat on AWS EC2 Linux Server
Урок 92.00:02:33
Configure remote access to Manager app
Урок 93.00:03:13
Configure Apache Tomcat Users
Урок 94.00:03:19
Download and Install MySQL Server on EC2 Linux Server
Урок 95.00:05:50
Installing MySQL on AWS Linux 2 AMI
Урок 96.00:04:44
Install MariaDb Server on EC2 Linux 2 AMI
Урок 97.00:04:03
Create Database and Add Database User
Урок 98.00:03:53
Deploy Our Web Service App on Apache Tomcat
Урок 99.00:03:28
Sending HTTP Request to a WebService Deployed on a Remote Server
Урок 100.00:03:10
Introduction
Урок 101.00:06:14
Amazon RDS - Creating MySQL Database
Урок 102.00:02:31
Security Group Configuration
Урок 103.00:03:32
Configure application to use MySQL deployed in RDS
Урок 104.00:02:31
Deploying WAR to AWS Elastic Beanstalk
Урок 105.00:01:53
Trying how it works
Урок 106.00:08:27
Introduction: @OneToOne, @OneToMany, @ManyToOne
Урок 107.00:03:37
Add List of Addresses to JSON Payload
Урок 108.00:03:47
Add List of Addresses to a UserDetailsRequestModel
Урок 109.00:03:02
Creating AddressDTO
Урок 110.00:03:23
A Better Way of Mapping DTO to an Entity and Entity to a DTO
Урок 111.00:03:36
Trying if Deep Objects Mapping Works
Урок 112.00:07:28
Create AddressEntity class
Урок 113.00:03:01
Add @OneToMany to UserEntity class
Урок 114.00:02:21
Generate Public Address Id
Урок 115.00:05:16
Updating Service class Java code
Урок 116.00:05:30
Trying How it Works: Creating a new User record
Урок 117.00:03:56
Include List of Addresses Into Response
Урок 118.00:08:06
Get List of Addresses Web Service Endpoint
Урок 119.00:02:09
Get List of Addresses Service Interface
Урок 120.00:03:48
Get List of Addresses Service Interface Implementation
Урок 121.00:07:47
Get List of Addresses Spring Data JPA Interface
Урок 122.00:03:40
Trying How the Get List of Addresses Works
Урок 123.00:06:40
API Call to Get a Single Address Details
Урок 124.00:01:07
Important house keeping message
Урок 125.00:03:03
Introduction
Урок 126.00:03:06
Adding HATEOAS Support to Our Project
Урок 127.00:09:24
Adding Links to the AddressRest Model
Урок 128.00:05:25
Using the methodOn()
Урок 129.00:04:57
Adding Links to a Get Addresses API Call
Урок 130.00:08:13
Applying HAL Format
Урок 131.00:03:02
Introduction
Урок 132.00:02:04
Adding HATEOAS support to our project
Урок 133.00:10:03
Adding Links. Representation Model.
Урок 134.00:03:23
Adding Links. Entity Model.
Урок 135.00:05:16
Building links with methodOn()
Урок 136.00:04:57
Returning a collection of resources with CollectionModel.
Урок 137.00:03:34
Adding links to embedded list of addresses
Урок 138.00:04:58
Introduction
Урок 139.00:05:02
Verify Email Address with Amazon SES
Урок 140.00:05:05
Moving Out of AWS SES Sandbox
Урок 141.00:02:10
Submit Support Ticket to Increase Sending Limits
Урок 142.00:04:27
Create AWS IAM Access Credentials
Урок 143.00:00:43
Creating Shared Credentials File
Урок 144.00:01:17
Add AWS Java SDK SES Maven Dependency
Урок 145.00:02:32
Spring Security. Make Email Verification a Public Web Service Endpoint.
Урок 146.00:04:49
The verifyEmailToken() RestController Method
Урок 147.00:04:12
The verifyEmailToken() Service Layer Function
Урок 148.00:01:35
The findUserByEmailVerificationToken() Data Layer Function
Урок 149.00:03:52
Checking if Email Verification Token Has Expired
Урок 150.00:05:00
Generate and Save the Email Verification Token
Урок 151.00:04:50
Prevent Users with Unverified Email Address to Login
Урок 152.00:05:14
Trying How it works
Урок 153.00:03:02
Create a new Web Project
Урок 154.00:03:46
Download Apache Tomcat and Add to Spring STS
Урок 155.00:05:23
Creating Email Verification Service Web Page
Урок 156.00:02:54
Reading JavaScript URL Request Parameters
Урок 157.00:04:11
The verifyToken() AJAX HTTP Get Request
Урок 158.00:09:52
Deploying REST API and Email Verification Service to a Local Tomcat
Урок 159.00:08:18
Trying Email Verification Feature on Local Server
Урок 160.00:10:46
Adding Code to Send Email
Урок 161.00:05:19
Deploying Email Verification to a Remote Amazon EC2 Linux Server
Урок 162.00:08:19
Trying Email Verification on Remote Server
Урок 163.00:04:40
Introduction
Урок 164.00:05:03
Password Reset Request RestController Method
Урок 165.00:04:31
Password Reset Request Service Layer Method
Урок 166.00:03:32
Generating Password Reset Token
Урок 167.00:06:21
Create PasswordResetTokenEntity & Password Reset Repository
Урок 168.00:07:45
Update AmazonSES Class with Code that Sends Email
Урок 169.00:02:32
Make the /password-reset-request Public
Урок 170.00:07:27
Trying How Password Reset Request Works
Урок 171.00:06:03
Password Reset HTML Page: Add Input fields
Урок 172.00:02:09
Password Reset HTML Page: Add jQuery
Урок 173.00:10:33
Password Reset HTML Page: Add the saveNewPassword() function
Урок 174.00:03:06
Add Content Type HTTP Header
Урок 175.00:03:52
Password Reset RestController Method
Урок 176.00:07:59
Password Reset Service Layer Method
Урок 177.00:01:54
Making Password Rest URL Public
Урок 178.00:04:58
Deploying RESTful Web Service and the Verification Service App
Урок 179.00:07:40
Trying How Password Reset Works
Урок 180.00:04:20
Introduction to Testing with JUnit & Mockito
Урок 181.00:04:18
Test Cases Source Code and Test Libraries Dependency
Урок 182.00:04:39
Creating a new JUnit 5 Test Case
Урок 183.00:08:57
Mocking Objects with Mockito @Mock
Урок 184.00:07:50
JUnit 5 Assertions. Asserting Successful Method Execution.
Урок 185.00:05:33
JUnit 5. Expect an Exception with assertThrows()
Урок 186.00:10:13
The testCreateUser() method. Mocking Objects.
Урок 187.00:07:56
Testing the createUser() Service Method
Урок 188.00:14:47
The testCreateUser() method. Adding more code.
Урок 189.00:07:52
doNothing(). Exclude Integration Code from Unit Test.
Урок 190.00:04:03
Assert an Exception is thrown in the createUser() method
Урок 191.00:02:40
Create a New Test Case
Урок 192.00:06:39
Create Mock Objects and Configure Methods Behaviour
Урок 193.00:03:37
Asserting with assertNotNull, assertEquals and assertTrue
Урок 194.00:06:13
Create a new JUnit Integration Test Case
Урок 195.00:04:14
Test the Generate UserId Method
Урок 196.00:06:10
Test If JWT Token Has Not Expired
Урок 197.00:05:43
Test the Expired JWT Token
Урок 198.00:03:20
What is H2 In-memory Database and Why Using It
Урок 199.00:07:54
H2 Database Console Preview
Урок 200.00:08:00
Adding Support for the H2 Database
Урок 201.00:05:01
Sign in to H2 In-Memory Database
Урок 202.00:02:04
Protect the H2 In-Memory Database with a Password
Урок 203.00:03:45
API Call to Create a New User and Preview User Details in an In-Memory Database
Урок 204.00:03:56
Introduction
Урок 205.00:04:41
Creating a new maven project
Урок 206.00:07:39
Add support for Rest Assured and JUnit 5 to your project
Урок 207.00:02:20
Create User API Call: Creating a Test Method
Урок 208.00:03:18
Create User API Call: Setting Request URL, Context Path and a Port number
Урок 209.00:08:40
Create User API Call: Create HTTP Post Request and Validate Response
Урок 210.00:06:14
Create User API Call: Running a Test Case
Урок 211.00:09:06
Create User API Call: Verify JSON Array with a list of Addresses
Урок 212.00:02:56
User Login API Call: Create Test Class
Урок 213.00:08:49
User Login API Call: Create Test Method
Урок 214.00:05:17
User Login API Call: Run Test Method
Урок 215.00:04:31
JUnit Test Methods ordering with @FixMethodOrder
Урок 216.00:05:41
Get User Details API Call: Create Test method
Урок 217.00:04:12
Get User Details API Call: Validating List of Addresses
Урок 218.00:01:21
Get User Details API Call: Use the pathParam()
Урок 219.00:03:36
Get User Details API Call: Running Test Method
Урок 220.00:08:46
Update User Details API Call: Create Test Method & HTTP Request
Урок 221.00:07:05
Update User Details API Call: Validating HTTP Response
Урок 222.00:05:19
Delete User Details API Call: Create Test Method
Урок 223.00:02:40
Delete User Details API Call: Run Test Method
Урок 224.00:02:29
Introduction. What If You Need to Run SQL Query?
Урок 225.00:04:47
Native SELECT SQL Query Example
Урок 226.00:10:40
JUnit Test to test Native SELECT SQL Query
Урок 227.00:08:27
Native SQL Query with Positional Parameters
Урок 228.00:04:50
Native SQL Query with Named Parameters
Урок 229.00:03:51
Log SQL Queries and Their Values in the Console
Урок 230.00:05:59
Using Advanced LIKE Expressions
Урок 231.00:06:53
Select Specific Columns from a Table
Урок 232.00:08:32
UPDATE SQL Query Example
Урок 233.00:02:01
JPQL Introduction
Урок 234.00:06:56
JPQL Select SQL Query
Урок 235.00:04:11
JPQL Query to Select Specific Fields Only
Урок 236.00:06:28
JPQL Update SQL Query
Урок 237.00:05:40
Do I Need To Enable CORS?
Урок 238.00:07:37
Send HTTP Request to Reproduce Cross Origin Issue
Урок 239.00:08:08
Enable Cross Origin Requests in Rest Controller
Урок 240.00:05:17
Global CORS configuration
Урок 241.00:13:27
Spring Security Configuration for CORS
Урок 242.00:02:13
Introduction
Урок 243.00:03:40
Add Swagger Dependencies
Урок 244.00:02:48
Create Swagger Configuration File
Урок 245.00:05:56
Enable Swagger URLs and View JSON Documentation
Урок 246.00:05:46
View API Documentation In Swagger UI
Урок 247.00:07:03
Add Authorization Header
Урок 248.00:16:57
Add /login endpoint
Урок 249.00:06:57
Upading API Documentation Information
Урок 250.00:04:53
Web Service Endpoints Additional Information
Урок 251.00:01:26
Share Your API with Others
Урок 252.00:04:39
Share Swagger UI URL
Урок 253.00:05:24
Introduction to Roles and Authorities
Урок 254.00:07:32
Authentication vs Authorization
Урок 255.00:02:56
Database Tables Design
Урок 256.00:06:23
User Roles @ManyToMany Mapping for User Entity
Урок 257.00:04:48
Create RoleEntity
Урок 258.00:03:28
Role Authority @ManyToMany Mapping for the RoleEntity
Урок 259.00:05:52
Create AuthorityEntity
Урок 260.00:03:02
Create Role Repository
Урок 261.00:01:44
Create Authority Repository
Урок 262.00:02:58
Creating Initial Roles, Authorities and Admin User
Урок 263.00:03:03
Create InitialUsersSetup Class
Урок 264.00:05:40
Creating Authorities: READ, WRITE, DELETE
Урок 265.00:07:09
Creating Roles: ROLE_ADMIN, ROLE_USER
Урок 266.00:07:31
Create User with Admin Role
Урок 267.00:12:06
Create User Principal Class
Урок 268.00:06:26
Update Authentication and Authorization Filters
Урок 269.00:10:00
Configure HttpSecurity to Use the ADMIN Role
Урок 270.00:01:07
Configure HttpSecurity to Use the DELETE_AUTHORITY
Урок 271.00:01:52
hasAnyRole() and hasAnyAuthority()
Урок 272.00:04:22
Method Level Security Introduction
Урок 273.00:01:41
Enable Global Method Security
Урок 274.00:04:48
@Secured Annotation Example
Урок 275.00:03:22
@PreAuthorize Annotation Example
Урок 276.00:05:50
Accessing Principal Object and Method Argument
Урок 277.00:03:36
Trying How It Works
Урок 278.00:06:06
@PostAuthorize Annotation Example
Урок 279.00:11:39
Assign ROLE_USER to a Regular User
Урок 280.00:03:28
Spring Web MVC - Overview
Урок 281.00:06:42
Creating Spring Web MVC project
Урок 282.00:07:53
Configure JSP & JSTL support
Урок 283.00:06:11
Configure Thymeleaf support
Урок 284.00:03:39
The Model object
Урок 285.00:02:53
The ModelMap object
Урок 286.00:03:11
The ModelAndView object
Урок 287.00:05:50
Read URI path variables
Урок 288.00:04:32
Read query string parameters
Урок 289.00:08:12
Read Form Data with @ModelAttribute
Урок 290.00:04:10
Read JSON request body
Урок 291.00:04:57
Return JSON in response body
Урок 292.00:03:05
Bonus lecture