From a46ab04a0ad1ad3fab225794dc524e89c6f2d4fa Mon Sep 17 00:00:00 2001 From: Mengqi Xu <2663479778@qq.com> Date: Thu, 9 Jan 2025 23:50:25 +0800 Subject: [PATCH 1/2] Refactor: Use HttpStatusCode instead of magic value 200. Signed-off-by: Mengqi Xu <2663479778@qq.com> --- .../method/annotation/HttpEntityMethodProcessor.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java index 1dcb6f94ede4..44a01b9c1a90 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java @@ -31,6 +31,8 @@ import org.springframework.core.MethodParameter; import org.springframework.core.ResolvableType; +import org.springframework.http.HttpStatusCode; +import org.springframework.http.HttpStatus; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -237,9 +239,9 @@ else if (returnValue instanceof ProblemDetail detail) { } if (httpEntity instanceof ResponseEntity responseEntity) { - int returnStatus = responseEntity.getStatusCode().value(); - outputMessage.getServletResponse().setStatus(returnStatus); - if (returnStatus == 200) { + HttpStatusCode httpStatusCode = responseEntity.getStatusCode(); + outputMessage.getServletResponse().setStatus(httpStatusCode.value()); + if (HttpStatus.OK.value() == httpStatusCode.value()) { HttpMethod method = inputMessage.getMethod(); if ((HttpMethod.GET.equals(method) || HttpMethod.HEAD.equals(method)) && isResourceNotModified(inputMessage, outputMessage)) { @@ -247,7 +249,7 @@ && isResourceNotModified(inputMessage, outputMessage)) { return; } } - else if (returnStatus / 100 == 3) { + else if (httpStatusCode.is3xxRedirection()) { String location = outputHeaders.getFirst("location"); if (location != null) { saveFlashAttributes(mavContainer, webRequest, location); From 74d8cc9019f924e8cf508548b3ae8e463a7213f3 Mon Sep 17 00:00:00 2001 From: Mengqi Xu <2663479778@qq.com> Date: Fri, 10 Jan 2025 00:10:01 +0800 Subject: [PATCH 2/2] Change the import order, and use HttpHeaders. Signed-off-by: Mengqi Xu <2663479778@qq.com> --- .../mvc/method/annotation/HttpEntityMethodProcessor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java index 44a01b9c1a90..c9690e1f1d5a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/HttpEntityMethodProcessor.java @@ -31,11 +31,11 @@ import org.springframework.core.MethodParameter; import org.springframework.core.ResolvableType; -import org.springframework.http.HttpStatusCode; -import org.springframework.http.HttpStatus; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.HttpStatusCode; import org.springframework.http.ProblemDetail; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; @@ -250,7 +250,7 @@ && isResourceNotModified(inputMessage, outputMessage)) { } } else if (httpStatusCode.is3xxRedirection()) { - String location = outputHeaders.getFirst("location"); + String location = outputHeaders.getFirst(HttpHeaders.LOCATION); if (location != null) { saveFlashAttributes(mavContainer, webRequest, location); }