org.springframework.http.HttpMethod 는 이제 더 이상 열거형이 아닌 클래스입니다

이 규칙은 org.springframework.http.HttpMethod 여기서 코드에서는 enum.

Spring 프레임워크 6, org.springframework.http.HttpMethod 가 열거형에서 표준 클래스로 리팩터링되었습니다. 다음과 같이 일반적으로 사용되는 상수는 HttpMethod.GETHttpMethod.POST 를 계속 사용할 수 있지만 열거형 특정 기능에 의존하는 모든 코드는 더 이상 컴파일되지 않거나 런타임에 실패합니다.

개발자는 코드를 다음과 같이 클래스와 호환되는 대안으로 마이그레이션해야 합니다 EnumSet<HttpMethod> 다음 항목으로 바꾸십시오. Set<HttpMethod>switch 문을 사용하여 if-else 블록.

다음 예는 플래그를 지정할 수 있는 잘못된 사용법을 보여줍니다:


import org.springframework.http.HttpMethod;
import java.util.EnumSet;
public class InvalidHttpMethodUsage {
private EnumSet<HttpMethod> methods = EnumSet.of(HttpMethod.GET, HttpMethod.POST);
    public void handle(HttpMethod method) {
    switch (method) {
          case GET:
              System.out.println("GET");
              break;
        }
    }
}

다음 예는 마이그레이션된 유효한 사용법을 보여줍니다:


import org.springframework.http.HttpMethod;
import java.util.Set;
public class ValidHttpMethodUsage {
private Set<HttpMethod> methods = Set.of(HttpMethod.GET, HttpMethod.POST);
    public void handle(HttpMethod method) {
    if (HttpMethod.GET.equals(method)) {
     System.out.println("GET");
        }
    }
}

자세한 정보는 다음 자원을 참조하십시오.