Я не уверен, что именно вы спрашиваете, но да, по сравнению с более поздней версией Spring есть некоторая модификация, но логика c остается такой же.
В Spring 5.1.7
это выглядит следующим образом. Git
public static HttpStatus valueOf(int statusCode) {
HttpStatus status = resolve(statusCode);
if (status == null) {
throw new IllegalArgumentException("No matching constant for [" + statusCode + "]");
}
return status;
}
@Nullable
public static HttpStatus resolve(int statusCode) {
for (HttpStatus status : values()) {
if (status.value == statusCode) {
return status;
}
}
return null;
}