From 11ae6d8d730101108121ed74b18fedb1b4e92805 Mon Sep 17 00:00:00 2001 From: Alp Tuna Dagdanas Date: Mon, 22 Jun 2026 13:03:38 +0300 Subject: [PATCH] upgrade spring version --- build.gradle.kts | 7 ++++--- src/main/kotlin/com/valensas/exception/ApiException.kt | 7 ------- .../autoconfigure/ExceptionHandlerAutoConfiguration.kt | 2 +- .../valensas/exception/handler/ApiExceptionErrorHandler.kt | 2 +- .../com/valensas/exception/handler/FeignErrorHandler.kt | 2 +- .../com/valensas/exception/handler/HttpErrorHandler.kt | 2 +- .../valensas/exception/handler/RestTemplateErrorHandler.kt | 2 +- .../valensas/exception/handler/WebClientErrorHandler.kt | 2 +- .../handler/WebFluxParameterExceptionErrorHandler.kt | 6 +++--- .../exception/handler/WebParameterExceptionErrorHandler.kt | 2 +- .../WebParameterExceptionErrorHandlerTest.kt | 2 ++ 11 files changed, 16 insertions(+), 20 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 4190b85..2d0c179 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -28,12 +28,13 @@ dependencies { compileOnly("org.springframework.boot:spring-boot-starter-validation") implementation("jakarta.annotation:jakarta.annotation-api") - implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("tools.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") implementation("io.projectreactor.kotlin:reactor-kotlin-extensions") testImplementation("org.springframework.boot:spring-boot-starter-test") + testImplementation("org.springframework.boot:spring-boot-webtestclient") testImplementation("org.springframework.cloud:spring-cloud-contract-wiremock") testImplementation("org.springframework.cloud:spring-cloud-starter-openfeign") testImplementation("org.springframework.boot:spring-boot-starter-web") @@ -56,8 +57,8 @@ extra["kotlin.version"] = "2.4.0" dependencyManagement { imports { - mavenBom("org.springframework.boot:spring-boot-dependencies:3.5.15") - mavenBom("org.springframework.cloud:spring-cloud-dependencies:2025.0.3") + mavenBom("org.springframework.boot:spring-boot-dependencies:4.1.0") + mavenBom("org.springframework.cloud:spring-cloud-dependencies:2025.1.2") } } diff --git a/src/main/kotlin/com/valensas/exception/ApiException.kt b/src/main/kotlin/com/valensas/exception/ApiException.kt index 384ac13..d09810d 100644 --- a/src/main/kotlin/com/valensas/exception/ApiException.kt +++ b/src/main/kotlin/com/valensas/exception/ApiException.kt @@ -49,13 +49,6 @@ open class Processing( data: HashMap<*, *>? = null ) : ApiException(message, code, data) -@ResponseStatus(HttpStatus.CHECKPOINT) -open class CheckPoint( - message: String, - code: String = "CHECKPOINT", - data: HashMap<*, *>? = null -) : ApiException(message, code, data) - @ResponseStatus(HttpStatus.OK) open class Ok( message: String, diff --git a/src/main/kotlin/com/valensas/exception/autoconfigure/ExceptionHandlerAutoConfiguration.kt b/src/main/kotlin/com/valensas/exception/autoconfigure/ExceptionHandlerAutoConfiguration.kt index 1d3cd2b..b686a6e 100644 --- a/src/main/kotlin/com/valensas/exception/autoconfigure/ExceptionHandlerAutoConfiguration.kt +++ b/src/main/kotlin/com/valensas/exception/autoconfigure/ExceptionHandlerAutoConfiguration.kt @@ -1,6 +1,5 @@ package com.valensas.exception.autoconfigure -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.ParameterException import com.valensas.exception.handler.ApiExceptionErrorHandler @@ -18,6 +17,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.web.client.RestTemplate import org.springframework.web.reactive.function.client.WebClient +import tools.jackson.databind.ObjectMapper @Configuration @RegisterReflectionForBinding( diff --git a/src/main/kotlin/com/valensas/exception/handler/ApiExceptionErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/ApiExceptionErrorHandler.kt index d0793d0..d49b798 100644 --- a/src/main/kotlin/com/valensas/exception/handler/ApiExceptionErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/ApiExceptionErrorHandler.kt @@ -1,11 +1,11 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.autoconfigure.ExceptionHandlerConfigurationProperties import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice +import tools.jackson.databind.ObjectMapper @RestControllerAdvice class ApiExceptionErrorHandler( diff --git a/src/main/kotlin/com/valensas/exception/handler/FeignErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/FeignErrorHandler.kt index 9543153..4140fbd 100644 --- a/src/main/kotlin/com/valensas/exception/handler/FeignErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/FeignErrorHandler.kt @@ -1,6 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.autoconfigure.ExceptionHandlerConfigurationProperties import feign.FeignException @@ -11,6 +10,7 @@ import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice +import tools.jackson.databind.ObjectMapper @RestControllerAdvice class FeignErrorHandler( diff --git a/src/main/kotlin/com/valensas/exception/handler/HttpErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/HttpErrorHandler.kt index 0bd71e9..887b2da 100644 --- a/src/main/kotlin/com/valensas/exception/handler/HttpErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/HttpErrorHandler.kt @@ -1,6 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.ParameterException import org.slf4j.LoggerFactory @@ -8,6 +7,7 @@ import org.springframework.http.HttpHeaders import org.springframework.http.HttpStatus import org.springframework.http.MediaType import org.springframework.http.ResponseEntity +import tools.jackson.databind.ObjectMapper abstract class HttpErrorHandler( protected val mapper: ObjectMapper, diff --git a/src/main/kotlin/com/valensas/exception/handler/RestTemplateErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/RestTemplateErrorHandler.kt index 679df01..9b19812 100644 --- a/src/main/kotlin/com/valensas/exception/handler/RestTemplateErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/RestTemplateErrorHandler.kt @@ -1,6 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.autoconfigure.ExceptionHandlerConfigurationProperties import org.springframework.boot.autoconfigure.condition.ConditionalOnClass @@ -10,6 +9,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice import org.springframework.web.client.HttpStatusCodeException import org.springframework.web.client.RestTemplate +import tools.jackson.databind.ObjectMapper @RestControllerAdvice @ConditionalOnClass(RestTemplate::class) diff --git a/src/main/kotlin/com/valensas/exception/handler/WebClientErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/WebClientErrorHandler.kt index ffb9104..6c9585a 100644 --- a/src/main/kotlin/com/valensas/exception/handler/WebClientErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/WebClientErrorHandler.kt @@ -1,6 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.ApiException import com.valensas.exception.autoconfigure.ExceptionHandlerConfigurationProperties import org.springframework.http.HttpStatus @@ -8,6 +7,7 @@ import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice import org.springframework.web.reactive.function.client.WebClientResponseException +import tools.jackson.databind.ObjectMapper @RestControllerAdvice class WebClientErrorHandler( diff --git a/src/main/kotlin/com/valensas/exception/handler/WebFluxParameterExceptionErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/WebFluxParameterExceptionErrorHandler.kt index 28d175d..3b30f87 100644 --- a/src/main/kotlin/com/valensas/exception/handler/WebFluxParameterExceptionErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/WebFluxParameterExceptionErrorHandler.kt @@ -1,7 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.exc.MismatchedInputException import com.valensas.exception.FieldError import com.valensas.exception.ParameterErrorCode import com.valensas.exception.ParameterException @@ -17,6 +15,8 @@ import org.springframework.web.bind.support.WebExchangeBindException import org.springframework.web.method.annotation.HandlerMethodValidationException import org.springframework.web.server.MissingRequestValueException import org.springframework.web.server.ServerWebInputException +import tools.jackson.databind.ObjectMapper +import tools.jackson.databind.exc.MismatchedInputException @RestControllerAdvice class WebFluxParameterExceptionErrorHandler( @@ -75,7 +75,7 @@ class WebFluxParameterExceptionErrorHandler( val mismatchedInputException = decodingException.cause as MismatchedInputException parameter = mismatchedInputException.path.joinToString(".") { - it.fieldName ?: "[${it.index}]" + it.propertyName ?: "[${it.index}]" } message = mismatchedInputException.originalMessage } diff --git a/src/main/kotlin/com/valensas/exception/handler/WebParameterExceptionErrorHandler.kt b/src/main/kotlin/com/valensas/exception/handler/WebParameterExceptionErrorHandler.kt index 2ea184d..be7449c 100644 --- a/src/main/kotlin/com/valensas/exception/handler/WebParameterExceptionErrorHandler.kt +++ b/src/main/kotlin/com/valensas/exception/handler/WebParameterExceptionErrorHandler.kt @@ -1,6 +1,5 @@ package com.valensas.exception.handler -import com.fasterxml.jackson.databind.ObjectMapper import com.valensas.exception.FieldError import com.valensas.exception.ParameterErrorCode import com.valensas.exception.ParameterException @@ -15,6 +14,7 @@ import org.springframework.web.bind.MissingServletRequestParameterException import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException +import tools.jackson.databind.ObjectMapper @RestControllerAdvice class WebParameterExceptionErrorHandler( diff --git a/src/test/kotlin/com/valensas/exception/integrationTests/WebParameterExceptionErrorHandlerTest.kt b/src/test/kotlin/com/valensas/exception/integrationTests/WebParameterExceptionErrorHandlerTest.kt index a3b17be..f6605d1 100644 --- a/src/test/kotlin/com/valensas/exception/integrationTests/WebParameterExceptionErrorHandlerTest.kt +++ b/src/test/kotlin/com/valensas/exception/integrationTests/WebParameterExceptionErrorHandlerTest.kt @@ -6,6 +6,7 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest +import org.springframework.boot.webtestclient.autoconfigure.AutoConfigureWebTestClient import org.springframework.http.HttpStatus import org.springframework.test.context.ActiveProfiles import org.springframework.test.web.reactive.server.WebTestClient @@ -14,6 +15,7 @@ import java.util.UUID @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestInstance(TestInstance.Lifecycle.PER_CLASS) @ActiveProfiles("test") +@AutoConfigureWebTestClient class WebParameterExceptionErrorHandlerTest { @Autowired lateinit var webClient: WebTestClient