Posts in technical

JSON, Content Types, and API Serialization Explained

Learn how JSON representations, media types, and serialization rules shape API compatibility, validation, and reliable client-server data exchange.

HTTP Methods, Status Codes, and Headers in API Design

Choose HTTP methods that match the operation, return status codes clients can act on, and use headers for metadata, caching, and safe retries.

OpenAPI and Machine-Readable API Specifications

Learn how OpenAPI turns API behavior into a reviewable contract, supports tooling, and helps teams catch breaking changes before clients encounter them.

Synchronous Calls, Asynchronous Messaging, and Webhooks

Choose between synchronous APIs, queued messages, and webhooks by matching delivery behavior to latency needs, failure handling, and ownership boundaries.

Embedded Web Servers in Spring Boot: Tomcat, Jetty, Undertow

Configure embedded servers in Spring Boot: compare Tomcat, Jetty, and Undertow, tune thread pools, enable access logs, and switch implementations.

JUnit 5 & Jupiter: Lifecycle, Nested & Parameterized Tests

Explore JUnit 5 Jupiter features: master test lifecycle annotations, organize tests with @Nested, and parameterize tests with @CsvSource and @MethodSource.

Mockito: Mocking, Stubbing, Verifications, Spy vs Mock

Learn Mockito fundamentals: create mocks and spies, stub behavior with when().thenReturn(), verify interactions, and choose between Spy vs Mock wisely.

Spring Boot Actuator: Health Checks, Metrics, Info Endpoints, Custom Indicators

Monitor Spring Boot apps with Actuator: built-in health checks, metrics, info endpoints, and how to build custom health indicators.