1. Урок 1.00:02:10
    Install HTTP client Postman
  2. Урок 2.00:10:42
    Postman overview
  3. Урок 3.00:11:13
    Resource and Collection URIs
  4. Урок 4.00:03:45
    HTTP Methods: GET, POST, DELETE and PUT
  5. Урок 5.00:04:14
    HTTP Headers: Accept and Content Type
  6. Урок 6.00:04:30
    Introduction to Web Service Application Layers
  7. Урок 7.00:03:24
    A few suggestions
  8. Урок 8.00:03:17
    Downloading and Installing MySQL on MAC
  9. Урок 9.00:06:15
    Start MySQL Server and Login
  10. Урок 10.00:06:26
    Creating MySQL Database and a new User
  11. Урок 11.00:03:03
    Downloading and Installing MySQL Workbench
  12. Урок 12.00:05:28
    Connect to MySQL Database using MySQL WorkBench
  13. Урок 13.00:04:16
    MySQL WorkBench brief overview
  14. Урок 14.00:05:49
    Install Java Platform (JDK)
  15. Урок 15.00:01:57
    Download and Install Spring Tool Suite(STS)
  16. Урок 16.00:06:13
    Create new Spring Boot Project with Spring Tool Suite
  17. Урок 17.00:04:43
    Creating a new Spring project using Spring Boot Initializr
  18. Урок 18.00:02:46
    Create Users Rest Controller class
  19. Урок 19.00:03:14
    Adding Methods to Handle POST, GET, PUT, DELETE HTTP requests
  20. Урок 20.00:04:37
    Running Web Service Application
  21. Урок 21.00:06:17
    Update POM.XML file
  22. Урок 22.00:04:27
    Configure MySQL Database Access Details
  23. Урок 23.00:02:21
    Adding method to handle HTTP Post Request
  24. Урок 24.00:03:22
    Implementing the Create User Request Model class
  25. Урок 25.00:06:06
    Implementing Create User Response Model
  26. Урок 26.00:04:39
    Implementing the UserDto
  27. Урок 27.00:03:20
    Making use of UserRest and UserDto in RestController
  28. Урок 28.00:03:58
    Implementing Service class method
  29. Урок 29.00:06:14
    Implementing UserEntity class
  30. Урок 30.00:01:08
    Set Default Value for Email Verification Status field
  31. Урок 31.00:05:33
    Implementing UsersRepository class
  32. Урок 32.00:05:01
    Autowire UserRepository into Service class
  33. Урок 33.00:06:13
    Trying how the User Sign up works
  34. Урок 34.00:03:47
    Preventing Duplicate Entries with @Column(unique=true)
  35. Урок 35.00:06:20
    Check if user already exists
  36. Урок 36.00:06:31
    Generate User Public ID
  37. Урок 37.00:05:23
    Adding Spring Security to our project
  38. Урок 38.00:02:54
    Encrypt User Password
  39. Урок 39.00:08:52
    Make the Sign-up Web Service Endpoint Public
  40. Урок 40.00:13:40
    Migrating from WebSecurityConfigurerAdapter
  41. Урок 41.00:01:57
    Implementing User Sign-in Request Model
  42. Урок 42.00:05:45
    [Updated] Implementing loadUserByUsername()
  43. Урок 43.00:04:35
    [Updated] Implementing SecurityConstants class
  44. Урок 44.00:02:35
    [Updated]Adding Maven Dependencies to generate and validate JWT
  45. Урок 45.00:05:55
    [Updated] AuthenticationFilter Part 1. Implementing attemptAuthentication().
  46. Урок 46.00:03:49
    [Updated] AuthenticationFilter Part 2. Implementing successfulAuthenticatio().
  47. Урок 47.00:01:40
    [Updated] AuthenticationFilter Part 3. Register with HttpSecurity.
  48. Урок 48.00:06:59
    Trying how user Authentication/Login works
  49. Урок 49.00:11:52
    [Updated] Add UserId to HTTP Response Header
  50. Урок 50.00:02:34
    [Updated]Customize Login URL Path
  51. Урок 51.00:10:33
    [Updated] Implementing Authorization Filter.
  52. Урок 52.00:04:18
    Trying how User Authorization works
  53. Урок 53.00:05:58
    [Updated] Reading Token Secret from a properties file
  54. Урок 54.00:05:06
    Get User Details Resource Method
  55. Урок 55.00:03:09
    Implement Service layer method
  56. Урок 56.00:04:00
    Update UserRepository
  57. Урок 57.00:05:38
    Trying the Get User Details API Call
  58. Урок 58.00:01:15
    Update POM.XML
  59. Урок 59.00:07:20
    Responding with XML or JSON
  60. Урок 60.00:04:26
    Consuming XML or JSON
  61. Урок 61.00:02:41
    Introduction
  62. Урок 62.00:05:40
    Implementing ErrorMessages enum
  63. Урок 63.00:03:15
    Implementing UserServiceException
  64. Урок 64.00:06:57
    Handle a Specific Exception
  65. Урок 65.00:04:14
    Return Custom Error Object Representation
  66. Урок 66.00:04:57
    Handle All Other Exceptions
  67. Урок 67.00:05:49
    Update User Details Resource Method
  68. Урок 68.00:05:39
    Implementing Service Layer Method
  69. Урок 69.00:02:55
    Trying the Update User Details API Call
  70. Урок 70.00:06:05
    Delete User Resource Method
  71. Урок 71.00:02:45
    Implementing Service Layer Method
  72. Урок 72.00:04:55
    Trying the Delete User API Call
  73. Урок 73.00:03:40
    The Get Users Request URL
  74. Урок 74.00:05:39
    The Get Users Resource Method
  75. Урок 75.00:06:02
    Get Users Service Layer Method
  76. Урок 76.00:05:53
    Trying the Get Users API Call
  77. Урок 77.00:02:44
    Running Your Web Services App without STS
  78. Урок 78.00:04:23
    Create Context Path to Your Web Service
  79. Урок 79.00:04:35
    Run Your App as a Java application
  80. Урок 80.00:04:26
    Generating WAR file
  81. Урок 81.00:13:32
    Install Apache Tomcat on Windows
  82. Урок 82.00:02:14
    Downloading Apache Tomcat on Mac
  83. Урок 83.00:02:52
    Starting and Stopping Apache Tomcat
  84. Урок 84.00:02:40
    Creating a new Apache Tomcat User
  85. Урок 85.00:04:42
    Deploying Your Web Service to Apache Tomcat
  86. Урок 86.00:02:50
    Introduction
  87. Урок 87.00:12:46
    [Updated] Startup your own Linux virtual server in Amazon EC2
  88. Урок 88.00:03:48
    Configure Virtual Server Firewall Rules(Security Group)
  89. Урок 89.00:04:41
    Connect To Your Server via SSH
  90. Урок 90.00:03:35
    Update Server Software Packages and Update Java
  91. Урок 91.00:10:28
    Download & Install Apache Tomcat on AWS EC2 Linux Server
  92. Урок 92.00:02:33
    Configure remote access to Manager app
  93. Урок 93.00:03:13
    Configure Apache Tomcat Users
  94. Урок 94.00:03:19
    Download and Install MySQL Server on EC2 Linux Server
  95. Урок 95.00:05:50
    Installing MySQL on AWS Linux 2 AMI
  96. Урок 96.00:04:44
    Install MariaDb Server on EC2 Linux 2 AMI
  97. Урок 97.00:04:03
    Create Database and Add Database User
  98. Урок 98.00:03:53
    Deploy Our Web Service App on Apache Tomcat
  99. Урок 99.00:03:28
    Sending HTTP Request to a WebService Deployed on a Remote Server
  100. Урок 100.00:03:10
    Introduction
  101. Урок 101.00:06:14
    Amazon RDS - Creating MySQL Database
  102. Урок 102.00:02:31
    Security Group Configuration
  103. Урок 103.00:03:32
    Configure application to use MySQL deployed in RDS
  104. Урок 104.00:02:31
    Deploying WAR to AWS Elastic Beanstalk
  105. Урок 105.00:01:53
    Trying how it works
  106. Урок 106.00:08:27
    Introduction: @OneToOne, @OneToMany, @ManyToOne
  107. Урок 107.00:03:37
    Add List of Addresses to JSON Payload
  108. Урок 108.00:03:47
    Add List of Addresses to a UserDetailsRequestModel
  109. Урок 109.00:03:02
    Creating AddressDTO
  110. Урок 110.00:03:23
    A Better Way of Mapping DTO to an Entity and Entity to a DTO
  111. Урок 111.00:03:36
    Trying if Deep Objects Mapping Works
  112. Урок 112.00:07:28
    Create AddressEntity class
  113. Урок 113.00:03:01
    Add @OneToMany to UserEntity class
  114. Урок 114.00:02:21
    Generate Public Address Id
  115. Урок 115.00:05:16
    Updating Service class Java code
  116. Урок 116.00:05:30
    Trying How it Works: Creating a new User record
  117. Урок 117.00:03:56
    Include List of Addresses Into Response
  118. Урок 118.00:08:06
    Get List of Addresses Web Service Endpoint
  119. Урок 119.00:02:09
    Get List of Addresses Service Interface
  120. Урок 120.00:03:48
    Get List of Addresses Service Interface Implementation
  121. Урок 121.00:07:47
    Get List of Addresses Spring Data JPA Interface
  122. Урок 122.00:03:40
    Trying How the Get List of Addresses Works
  123. Урок 123.00:06:40
    API Call to Get a Single Address Details
  124. Урок 124.00:01:07
    Important house keeping message
  125. Урок 125.00:03:03
    Introduction
  126. Урок 126.00:03:06
    Adding HATEOAS Support to Our Project
  127. Урок 127.00:09:24
    Adding Links to the AddressRest Model
  128. Урок 128.00:05:25
    Using the methodOn()
  129. Урок 129.00:04:57
    Adding Links to a Get Addresses API Call
  130. Урок 130.00:08:13
    Applying HAL Format
  131. Урок 131.00:03:02
    Introduction
  132. Урок 132.00:02:04
    Adding HATEOAS support to our project
  133. Урок 133.00:10:03
    Adding Links. Representation Model.
  134. Урок 134.00:03:23
    Adding Links. Entity Model.
  135. Урок 135.00:05:16
    Building links with methodOn()
  136. Урок 136.00:04:57
    Returning a collection of resources with CollectionModel.
  137. Урок 137.00:03:34
    Adding links to embedded list of addresses
  138. Урок 138.00:04:58
    Introduction
  139. Урок 139.00:05:02
    Verify Email Address with Amazon SES
  140. Урок 140.00:05:05
    Moving Out of AWS SES Sandbox
  141. Урок 141.00:02:10
    Submit Support Ticket to Increase Sending Limits
  142. Урок 142.00:04:27
    Create AWS IAM Access Credentials
  143. Урок 143.00:00:43
    Creating Shared Credentials File
  144. Урок 144.00:01:17
    Add AWS Java SDK SES Maven Dependency
  145. Урок 145.00:02:32
    Spring Security. Make Email Verification a Public Web Service Endpoint.
  146. Урок 146.00:04:49
    The verifyEmailToken() RestController Method
  147. Урок 147.00:04:12
    The verifyEmailToken() Service Layer Function
  148. Урок 148.00:01:35
    The findUserByEmailVerificationToken() Data Layer Function
  149. Урок 149.00:03:52
    Checking if Email Verification Token Has Expired
  150. Урок 150.00:05:00
    Generate and Save the Email Verification Token
  151. Урок 151.00:04:50
    Prevent Users with Unverified Email Address to Login
  152. Урок 152.00:05:14
    Trying How it works
  153. Урок 153.00:03:02
    Create a new Web Project
  154. Урок 154.00:03:46
    Download Apache Tomcat and Add to Spring STS
  155. Урок 155.00:05:23
    Creating Email Verification Service Web Page
  156. Урок 156.00:02:54
    Reading JavaScript URL Request Parameters
  157. Урок 157.00:04:11
    The verifyToken() AJAX HTTP Get Request
  158. Урок 158.00:09:52
    Deploying REST API and Email Verification Service to a Local Tomcat
  159. Урок 159.00:08:18
    Trying Email Verification Feature on Local Server
  160. Урок 160.00:10:46
    Adding Code to Send Email
  161. Урок 161.00:05:19
    Deploying Email Verification to a Remote Amazon EC2 Linux Server
  162. Урок 162.00:08:19
    Trying Email Verification on Remote Server
  163. Урок 163.00:04:40
    Introduction
  164. Урок 164.00:05:03
    Password Reset Request RestController Method
  165. Урок 165.00:04:31
    Password Reset Request Service Layer Method
  166. Урок 166.00:03:32
    Generating Password Reset Token
  167. Урок 167.00:06:21
    Create PasswordResetTokenEntity & Password Reset Repository
  168. Урок 168.00:07:45
    Update AmazonSES Class with Code that Sends Email
  169. Урок 169.00:02:32
    Make the /password-reset-request Public
  170. Урок 170.00:07:27
    Trying How Password Reset Request Works
  171. Урок 171.00:06:03
    Password Reset HTML Page: Add Input fields
  172. Урок 172.00:02:09
    Password Reset HTML Page: Add jQuery
  173. Урок 173.00:10:33
    Password Reset HTML Page: Add the saveNewPassword() function
  174. Урок 174.00:03:06
    Add Content Type HTTP Header
  175. Урок 175.00:03:52
    Password Reset RestController Method
  176. Урок 176.00:07:59
    Password Reset Service Layer Method
  177. Урок 177.00:01:54
    Making Password Rest URL Public
  178. Урок 178.00:04:58
    Deploying RESTful Web Service and the Verification Service App
  179. Урок 179.00:07:40
    Trying How Password Reset Works
  180. Урок 180.00:04:20
    Introduction to Testing with JUnit & Mockito
  181. Урок 181.00:04:18
    Test Cases Source Code and Test Libraries Dependency
  182. Урок 182.00:04:39
    Creating a new JUnit 5 Test Case
  183. Урок 183.00:08:57
    Mocking Objects with Mockito @Mock
  184. Урок 184.00:07:50
    JUnit 5 Assertions. Asserting Successful Method Execution.
  185. Урок 185.00:05:33
    JUnit 5. Expect an Exception with assertThrows()
  186. Урок 186.00:10:13
    The testCreateUser() method. Mocking Objects.
  187. Урок 187.00:07:56
    Testing the createUser() Service Method
  188. Урок 188.00:14:47
    The testCreateUser() method. Adding more code.
  189. Урок 189.00:07:52
    doNothing(). Exclude Integration Code from Unit Test.
  190. Урок 190.00:04:03
    Assert an Exception is thrown in the createUser() method
  191. Урок 191.00:02:40
    Create a New Test Case
  192. Урок 192.00:06:39
    Create Mock Objects and Configure Methods Behaviour
  193. Урок 193.00:03:37
    Asserting with assertNotNull, assertEquals and assertTrue
  194. Урок 194.00:06:13
    Create a new JUnit Integration Test Case
  195. Урок 195.00:04:14
    Test the Generate UserId Method
  196. Урок 196.00:06:10
    Test If JWT Token Has Not Expired
  197. Урок 197.00:05:43
    Test the Expired JWT Token
  198. Урок 198.00:03:20
    What is H2 In-memory Database and Why Using It
  199. Урок 199.00:07:54
    H2 Database Console Preview
  200. Урок 200.00:08:00
    Adding Support for the H2 Database
  201. Урок 201.00:05:01
    Sign in to H2 In-Memory Database
  202. Урок 202.00:02:04
    Protect the H2 In-Memory Database with a Password
  203. Урок 203.00:03:45
    API Call to Create a New User and Preview User Details in an In-Memory Database
  204. Урок 204.00:03:56
    Introduction
  205. Урок 205.00:04:41
    Creating a new maven project
  206. Урок 206.00:07:39
    Add support for Rest Assured and JUnit 5 to your project
  207. Урок 207.00:02:20
    Create User API Call: Creating a Test Method
  208. Урок 208.00:03:18
    Create User API Call: Setting Request URL, Context Path and a Port number
  209. Урок 209.00:08:40
    Create User API Call: Create HTTP Post Request and Validate Response
  210. Урок 210.00:06:14
    Create User API Call: Running a Test Case
  211. Урок 211.00:09:06
    Create User API Call: Verify JSON Array with a list of Addresses
  212. Урок 212.00:02:56
    User Login API Call: Create Test Class
  213. Урок 213.00:08:49
    User Login API Call: Create Test Method
  214. Урок 214.00:05:17
    User Login API Call: Run Test Method
  215. Урок 215.00:04:31
    JUnit Test Methods ordering with @FixMethodOrder
  216. Урок 216.00:05:41
    Get User Details API Call: Create Test method
  217. Урок 217.00:04:12
    Get User Details API Call: Validating List of Addresses
  218. Урок 218.00:01:21
    Get User Details API Call: Use the pathParam()
  219. Урок 219.00:03:36
    Get User Details API Call: Running Test Method
  220. Урок 220.00:08:46
    Update User Details API Call: Create Test Method & HTTP Request
  221. Урок 221.00:07:05
    Update User Details API Call: Validating HTTP Response
  222. Урок 222.00:05:19
    Delete User Details API Call: Create Test Method
  223. Урок 223.00:02:40
    Delete User Details API Call: Run Test Method
  224. Урок 224.00:02:29
    Introduction. What If You Need to Run SQL Query?
  225. Урок 225.00:04:47
    Native SELECT SQL Query Example
  226. Урок 226.00:10:40
    JUnit Test to test Native SELECT SQL Query
  227. Урок 227.00:08:27
    Native SQL Query with Positional Parameters
  228. Урок 228.00:04:50
    Native SQL Query with Named Parameters
  229. Урок 229.00:03:51
    Log SQL Queries and Their Values in the Console
  230. Урок 230.00:05:59
    Using Advanced LIKE Expressions
  231. Урок 231.00:06:53
    Select Specific Columns from a Table
  232. Урок 232.00:08:32
    UPDATE SQL Query Example
  233. Урок 233.00:02:01
    JPQL Introduction
  234. Урок 234.00:06:56
    JPQL Select SQL Query
  235. Урок 235.00:04:11
    JPQL Query to Select Specific Fields Only
  236. Урок 236.00:06:28
    JPQL Update SQL Query
  237. Урок 237.00:05:40
    Do I Need To Enable CORS?
  238. Урок 238.00:07:37
    Send HTTP Request to Reproduce Cross Origin Issue
  239. Урок 239.00:08:08
    Enable Cross Origin Requests in Rest Controller
  240. Урок 240.00:05:17
    Global CORS configuration
  241. Урок 241.00:13:27
    Spring Security Configuration for CORS
  242. Урок 242.00:02:13
    Introduction
  243. Урок 243.00:03:40
    Add Swagger Dependencies
  244. Урок 244.00:02:48
    Create Swagger Configuration File
  245. Урок 245.00:05:56
    Enable Swagger URLs and View JSON Documentation
  246. Урок 246.00:05:46
    View API Documentation In Swagger UI
  247. Урок 247.00:07:03
    Add Authorization Header
  248. Урок 248.00:16:57
    Add /login endpoint
  249. Урок 249.00:06:57
    Upading API Documentation Information
  250. Урок 250.00:04:53
    Web Service Endpoints Additional Information
  251. Урок 251.00:01:26
    Share Your API with Others
  252. Урок 252.00:04:39
    Share Swagger UI URL
  253. Урок 253.00:05:24
    Introduction to Roles and Authorities
  254. Урок 254.00:07:32
    Authentication vs Authorization
  255. Урок 255.00:02:56
    Database Tables Design
  256. Урок 256.00:06:23
    User Roles @ManyToMany Mapping for User Entity
  257. Урок 257.00:04:48
    Create RoleEntity
  258. Урок 258.00:03:28
    Role Authority @ManyToMany Mapping for the RoleEntity
  259. Урок 259.00:05:52
    Create AuthorityEntity
  260. Урок 260.00:03:02
    Create Role Repository
  261. Урок 261.00:01:44
    Create Authority Repository
  262. Урок 262.00:02:58
    Creating Initial Roles, Authorities and Admin User
  263. Урок 263.00:03:03
    Create InitialUsersSetup Class
  264. Урок 264.00:05:40
    Creating Authorities: READ, WRITE, DELETE
  265. Урок 265.00:07:09
    Creating Roles: ROLE_ADMIN, ROLE_USER
  266. Урок 266.00:07:31
    Create User with Admin Role
  267. Урок 267.00:12:06
    Create User Principal Class
  268. Урок 268.00:06:26
    Update Authentication and Authorization Filters
  269. Урок 269.00:10:00
    Configure HttpSecurity to Use the ADMIN Role
  270. Урок 270.00:01:07
    Configure HttpSecurity to Use the DELETE_AUTHORITY
  271. Урок 271.00:01:52
    hasAnyRole() and hasAnyAuthority()
  272. Урок 272.00:04:22
    Method Level Security Introduction
  273. Урок 273.00:01:41
    Enable Global Method Security
  274. Урок 274.00:04:48
    @Secured Annotation Example
  275. Урок 275.00:03:22
    @PreAuthorize Annotation Example
  276. Урок 276.00:05:50
    Accessing Principal Object and Method Argument
  277. Урок 277.00:03:36
    Trying How It Works
  278. Урок 278.00:06:06
    @PostAuthorize Annotation Example
  279. Урок 279.00:11:39
    Assign ROLE_USER to a Regular User
  280. Урок 280.00:03:28
    Spring Web MVC - Overview
  281. Урок 281.00:06:42
    Creating Spring Web MVC project
  282. Урок 282.00:07:53
    Configure JSP & JSTL support
  283. Урок 283.00:06:11
    Configure Thymeleaf support
  284. Урок 284.00:03:39
    The Model object
  285. Урок 285.00:02:53
    The ModelMap object
  286. Урок 286.00:03:11
    The ModelAndView object
  287. Урок 287.00:05:50
    Read URI path variables
  288. Урок 288.00:04:32
    Read query string parameters
  289. Урок 289.00:08:12
    Read Form Data with @ModelAttribute
  290. Урок 290.00:04:10
    Read JSON request body
  291. Урок 291.00:04:57
    Return JSON in response body
  292. Урок 292.00:03:05
    Bonus lecture