How manuelmaslonka/error-utils works
Error Utils is a reusable Java library for standardizing API errors across Spring Boot services, with a separate Spring-free validation pipeline. The main response flow maps request or domain failures through MVC handlers and a web factory into a shared error payload; validation can also produce results or business exceptions. The README documents starter auto-configuration and OpenAPI customization. The tree includes no separate OpenAPI module, so that capability is represented only by the starter customizer. Some links are omitted because the relevant implementations were not sampled.
Main entry points: ValidationChain.java Validation chain · ApiErrorFactory.java API error factory · ErrorUtilsAutoConfiguration.java Auto-configuration · GlobalApiExceptionHandler.java MVC exception handler
Components 20
Core error contract
- Business exceptions
error-utils-core/src/main/java/com/maslonka/reservation/errorutils/core/exception/BusinessException.java - Error contract
error-utils-core/src/main/java/com/maslonka/reservation/errorutils/core/api/ApiError.java - Error assembler
error-utils-core/src/main/java/com/maslonka/reservation/errorutils/core/api/ApiErrorAssembler.java
Validation pipeline
- Validation API
error-utils-validation/src/main/java/com/maslonka/reservation/errorutils/validation/api/Validator.java - Validation steps
error-utils-validation/src/main/java/com/maslonka/reservation/errorutils/validation/api/ValidationStep.java - Validation chain
error-utils-validation/src/main/java/com/maslonka/reservation/errorutils/validation/pipeline/ValidationChain.java - Failure model
error-utils-validation/src/main/java/com/maslonka/reservation/errorutils/validation/model/ValidationFailure.java - Validation result
error-utils-validation/src/main/java/com/maslonka/reservation/errorutils/validation/model/ValidationResult.java
Web response handling
- MVC exception handler
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/advice/GlobalApiExceptionHandler.java - API error factory
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/ApiErrorFactory.java - Web error factory
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/factory/WebApiErrorFactory.java - Trace resolver
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/trace/DefaultTraceContextResolver.java - Security handlers
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/security/GlobalSecurityExceptionHandler.java - JSON security handlers
error-utils-spring-webmvc/src/main/java/com/maslonka/reservation/errorutils/spring/web/security/JsonAuthenticationEntryPoint.java
Spring integration
- Auto-configuration
error-utils-spring-boot-starter/src/main/java/com/maslonka/reservation/errorutils/spring/boot/autoconfigure/ErrorUtilsAutoConfiguration.java - OpenAPI customizer
error-utils-spring-boot-starter/src/main/java/com/maslonka/reservation/errorutils/spring/boot/autoconfigure/ErrorUtilsOpenApiCustomizer.java
Other components
- Service code
- HTTP request
- Spring Security
- springdoc
Connections 24
- Service code → Validation API: starts validation
- Validation API → Validation chain: creates chain
- Validation chain → Validation steps: runs checks
- Validation steps → Validation chain: records failures
- Validation chain → Failure model: collects
- Validation chain → Validation result: builds result
- Validation chain → Business exceptions: throws on failure
- Business exceptions → Service code: raised to
- HTTP request → MVC exception handler: raises request errors
- Business exceptions → MVC exception handler: handled by
- MVC exception handler → API error factory: builds response via
- Spring Security → Security handlers: raises security errors
- Spring Security → JSON security handlers: dispatches failures
- Security handlers → API error factory: builds response via
- JSON security handlers → API error factory: builds response via
- API error factory → Web error factory: delegates to
- Web error factory → Trace resolver: resolves identifiers
- Web error factory → Error assembler: assembles payload
- Error assembler → Error contract: creates
- Auto-configuration → API error factory: registers
- Auto-configuration → MVC exception handler: registers
- Auto-configuration → Trace resolver: registers
- Auto-configuration → OpenAPI customizer: registers optionally
- OpenAPI customizer → springdoc: customizes schema