Ez a szabály jelzi a org.springframework.http.HttpMethod ahol a kód feltételezi, hogy ez egy enum.
A Spring Framework 6, org.springframework.http.HttpMethod egy enumból egy szabványos osztályba került átdolgozásra. Míg az általánosan használt konstansok, mint például HttpMethod.GET és HttpMethod.POST továbbra is elérhetőek, az enum-specifikus tulajdonságokra támaszkodó kódok már nem fordíthatók le, vagy futás közben meghibásodnak.
A fejlesztőknek át kell állítaniuk a kódjukat az osztály-kompatibilis alternatívákra, például a EnumSet<HttpMethod> a címen Set<HttpMethod> és switch nyilatkozatok if-else blokkok.
A következő példa a jelzett érvénytelen használatot mutatja:
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;
}
}
}
A következő példa az érvényes áttelepített használatot mutatja:
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");
}
}
}
Az alábbi információforrások nyújtanak további tájékoztatást: