Essa regra sinaliza o uso de org.springframework.http.HttpMethod onde o código assume que é um enum.
Em Spring Framework 6, org.springframework.http.HttpMethod foi refatorado de um enum para uma classe padrão. Embora as constantes comumente usadas, como HttpMethod.GET e HttpMethod.POST ainda estão disponíveis, qualquer código que dependa de recursos específicos de enum não será mais compilado ou falhará no tempo de execução.
Os desenvolvedores devem migrar seu código para alternativas compatíveis com a classe, como a substituição de EnumSet<HttpMethod> com o Set<HttpMethod> e switch declarações com if-else blocos.
O exemplo a seguir mostra o uso inválido que será sinalizado:
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;
}
}
}
O exemplo a seguir mostra o uso migrado válido:
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");
}
}
}
Para obter informações adicionais, consulte os recursos a seguir: