• 1 DIFFERENT FUNCTIONALITIES
    • 1.1 Validation
      • 1.1.1 Validate - Request Parameters
      • 1.1.2 Validate - DTO - From Request Parameters
      • 1.1.3 Validate - DTO - From JSON
      • 1.1.4 Validate - Custom Annotation
      • 1.1.5 Catch Exception - Using @ExceptionHandler
      • 1.1.6 Catch Exception - Using @ControllerAdvice
      • 1.1.7 Throw Exception
    • 1.2 WebClient
      • 1.2.1 Server
      • 1.2.2 Client - Mono
      • 1.2.3 Client - Flux
    • 1.3 Tasks
      • 1.3.1 Startup
      • 1.3.2 Scheduled
    • 1.4 Custom Banner
  • 2 FILTERS & INTERCEPTORS
    • 2.1 Filters
      • 2.1.1 Create Filter - Using Implements Filter
      • 2.1.2 Create Filter - Using Extends OncePerRequestFilter
      • 2.1.3 Create Filter Chain
      • 2.1.4 Block Requests
      • 2.1.5 HTTP Request Parameters - Get
      • 2.1.6 HTTP Request Parameters - Add
      • 2.1.7 HTTP Request Parameters - Edit
      • 2.1.8 Apply Filter only for specific URL
    • 2.2 Interceptors
      • 2.2.1 Create Interceptor - Implements HandlerInterceptor
      • 2.2.2 Create Interceptor Chain
      • 2.2.3 HTTP RequestResponse - Get Parameters
  • 3 LOGGING
    • 3.1 Slf4j
      • 3.1.1 Using LoggerFactory
      • 3.1.2 Using @Slf4j
      • 3.1.3 Logback
      • 3.1.4 Logback - Configure - XML
      • 3.1.5 Logback - Configure - XML - DB
      • 3.1.6 Logback - Configure - XML - DB - Custom
      • 3.1.7 Logback - Configure - Properties
      • 3.1.8 Log4j
      • 3.1.9 Log4j - Configure - XML
      • 3.1.10 Log4j - Configure - Properties
    • 3.2 AOP Annotations
      • 3.2.1 Log Start End
      • 3.2.2 Log Execution Time
  • 4 TESTING
    • 4.1 JUnit 5
      • 4.1.1 Create Test Class - Manually
      • 4.1.10 assertThrows()
      • 4.1.2 Create Test Class - Automatically
      • 4.1.3 Run Tests
      • 4.1.4 Example
      • 4.1.5 @SpringBootTest
      • 4.1.6 @Test
      • 4.1.7 @Disable
      • 4.1.8 @BeforeAll, @AfterAll, @BeforeEach, @AfterEach
      • 4.1.9 assert...()
    • 4.2 Mockito
      • 4.2.1 Mock - Object - @Mock
      • 4.2.10 verify() - ArgumentMatchers
      • 4.2.11 verify() - ArgumentCaptor
      • 4.2.2 Mock - Object - @MockBean
      • 4.2.3 Mock - Object - @Spy
      • 4.2.4 Mock - Object - @Spybean
      • 4.2.5 Mock - Method - when()
      • 4.2.6 Mock - Method - given()
      • 4.2.7 Mock - Method - doReturn()
      • 4.2.8 @InjectMocks
      • 4.2.9 verify()
    • 4.3 MockMVC
      • 4.3.1 @WebMvcTest
      • 4.3.2 Test - Request - URL Mapping
      • 4.3.3 Test - Request - Parameters
      • 4.3.4 Test - Request - Path Variables
      • 4.3.5 Test - Request - Body - JSON
      • 4.3.6 Test - Response - Status
      • 4.3.7 Test - Response - Body - Text
      • 4.3.8 Test - Response - Body - JSON