Conversation
- create autoconfiguration for each client or server module, without componentscan - move integration tests to a subpackage to avoid autowiring problems with the problem modules
- add missing @bean annotations - move error and exception handlers to common spring module
- add WebClientFilter - add an interface ProblemResponseErrorHandler
- reference ProblemResponseErrorHandler interface where possible
|
@jpraet , could you review if the changes in the PR look good to you high-level? I've tested it locally in a Spring (non-Boot) project using the |
Looks good to me high-level. Thank you |
…spring boot functionality and have very little code
|
The PR is now ready for review. I made following changes, on top of the previous ones:
|
belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml
Outdated
Show resolved
Hide resolved
Extracted from #306 and generalized to the other jakarta modules. This improves the user experience from within the IDE (building, testing, debugging, ...).
# Conflicts: # belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml
...rc/main/java/io/github/belgif/rest/problem/spring/server/ServerProblemAutoConfiguration.java
Outdated
Show resolved
Hide resolved
...rc/main/java/io/github/belgif/rest/problem/spring/server/ServerProblemAutoConfiguration.java
Outdated
Show resolved
Hide resolved
...-spring/src/main/java/io/github/belgif/rest/problem/spring/ProblemJackson3Configuration.java
Outdated
Show resolved
Hide resolved
| ==== | ||
| *Breaking changes:* | ||
|
|
||
| * Users of `belgif-rest-problem-spring-boot-4` from version should now depend on the `belgif-rest-problem-spring-boot-4-starter` module. |
There was a problem hiding this comment.
from version
belgif-rest-problem-spring-boot-4 was renamed to belgif-rest-problem-spring-boot-4-starter,
while belgif-rest-problem-spring-boot-3 remains.
I guess because the spring-boot-3 module has been around for longer so the user impact is higher.
But maybe we can still do the rename, while also keeping the belgif-rest-problem-spring-boot-3 around for a while as deprecated (it would be empty and depend on belgif-rest-problem-spring-boot-3-starter).
There was a problem hiding this comment.
Yes, or we could set a relocation pom for the old artifact. I'll test if that would work
There was a problem hiding this comment.
relocation pom works, I've add this in a new commit.
For maven builds this works as expected; recent Renovate versions suggests the rename as well.
Only dependabot might not detect the new version (see dependabot/dependabot-core#1947 )
Also adds relocation pom
|



Lots of refactoring to enable support for Spring without Spring Boot dependencies.
@Configuration(application contexts) insteadWebClientFilterextractingPROBLEM_FILTERfromAbstractProblemWebClientCustomizerProblemResponseErrorHandler@EnableProblemModule(beanValidation=true, swaggerRequestValidation=false, ...)to enable easy activation in non SB-environmentOther:
RoutingExceptionHandler(the split was bcNoResourceFoundExceptionwas new in SBv3)@Valueinstead of@ConfigurationPropertiesto cut dependency to spring bootTODO:
EnableProblemModuleintellij shows issues that beans aren't found, while tests doe work