v3.0.0 - Major Release: Pure Java, RFC 9457 & Enhanced Exception Handling #15
PasinduOG
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
We are thrilled to announce the release of API Response v3.0.0! 🎉
This is a major milestone that completely removes all external dependencies, upgrades our error handling to the latest industry standards, and makes the library incredibly lightweight and robust.
@Builderto a custom builder pattern implementation. This eliminates annotation processing overhead and potential IDE plugin conflicts.traceIdRemoved from Success Responses: To keep success payloads clean,traceIdis no longer included in standardApiResponseJSON bodies. Trace IDs are now exclusively injected into error responses (ProblemDetail) for debugging. (You can still use MDC/Headers for success tracing).✨ New Features
🛡️ 10 Comprehensive Exception Handlers: We've expanded the
GlobalExceptionHandlerto automatically cover 6 new critical scenarios (Total 10):HttpMessageNotReadableException(Malformed JSON)MissingServletRequestParameterException(Missing Params)NoResourceFoundException(404 Not Found)HttpRequestMethodNotSupportedException(405 Method Not Allowed)HttpMediaTypeNotSupportedException(415 Unsupported Media Type)NullPointerException(with safe stack trace logging)📋 RFC 9457 Compliance: Upgraded error formatting from RFC 7807 to the latest RFC 9457
ProblemDetailstandard.🔍 Distributed Tracing Filter: Added
TraceIdFilterfor automatic trace ID generation, MDC integration, and seamless log correlation across microservices.📚 100% Javadoc Coverage: Achieved a perfectly clean build with zero Javadoc warnings. Every class, method, and constructor is now explicitly documented.
🛠️ Improvements
spring-boot-starter-web(provided scope). No more transitive dependency worries!🔄 Quick Migration Guide (v2.0.0 ➡️ v3.0.0)
If you were using the static factory methods (
success(),created(),status()), no code changes are required!If you were manually building responses using the builder, update your syntax:
❌ Before (v2.0.0):
✅ After (v3.0.0):
📦 Installation
Maven:
Gradle:
implementation 'io.github.pasinduog:api-response:3.0.0'What's Changed
Full Changelog: v2.0.0...v3.0.0
This discussion was created from the release v3.0.0 - Major Release: Pure Java, RFC 9457 & Enhanced Exception Handling.
Beta Was this translation helpful? Give feedback.
All reactions