Skip to content

Instantly share code, notes, and snippets.

@boaglio
Created January 25, 2026 20:55
Show Gist options
  • Select an option

  • Save boaglio/612a2e36dbedbbfb2bdb83913ad9d1c7 to your computer and use it in GitHub Desktop.

Select an option

Save boaglio/612a2e36dbedbbfb2bdb83913ad9d1c7 to your computer and use it in GitHub Desktop.
SpringEnums
package com.boaglio.apivmvp;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.boot.actuate.health.Status;
import org.springframework.boot.logging.LogLevel;
public final class SpringEnums {
private SpringEnums() {
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
// ==================== HTTP METHODS ====================
public enum HttpMethods {
GET(HttpMethod.GET.name()),
POST(HttpMethod.POST.name()),
PUT(HttpMethod.PUT.name()),
DELETE(HttpMethod.DELETE.name()),
PATCH(HttpMethod.PATCH.name()),
HEAD(HttpMethod.HEAD.name()),
OPTIONS(HttpMethod.OPTIONS.name()),
TRACE(HttpMethod.TRACE.name());
private final String value;
HttpMethods(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// ==================== HTTP STATUS ====================
public enum HttpStatuses {
// 2xx Success
OK(HttpStatus.OK.name()),
CREATED(HttpStatus.CREATED.name()),
ACCEPTED(HttpStatus.ACCEPTED.name()),
NO_CONTENT(HttpStatus.NO_CONTENT.name()),
// 3xx Redirection
MOVED_PERMANENTLY(HttpStatus.MOVED_PERMANENTLY.name()),
FOUND(HttpStatus.FOUND.name()),
NOT_MODIFIED(HttpStatus.NOT_MODIFIED.name()),
// 4xx Client Errors
BAD_REQUEST(HttpStatus.BAD_REQUEST.name()),
UNAUTHORIZED(HttpStatus.UNAUTHORIZED.name()),
FORBIDDEN(HttpStatus.FORBIDDEN.name()),
NOT_FOUND(HttpStatus.NOT_FOUND.name()),
METHOD_NOT_ALLOWED(HttpStatus.METHOD_NOT_ALLOWED.name()),
CONFLICT(HttpStatus.CONFLICT.name()),
UNPROCESSABLE_ENTITY(HttpStatus.UNPROCESSABLE_ENTITY.name()),
// 5xx Server Errors
INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR.name()),
NOT_IMPLEMENTED(HttpStatus.NOT_IMPLEMENTED.name()),
BAD_GATEWAY(HttpStatus.BAD_GATEWAY.name()),
SERVICE_UNAVAILABLE(HttpStatus.SERVICE_UNAVAILABLE.name());
private final String value;
HttpStatuses(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// ==================== MEDIA TYPES ====================
public enum MediaTypes {
APPLICATION_JSON(MediaType.APPLICATION_JSON_VALUE),
APPLICATION_XML(MediaType.APPLICATION_XML_VALUE),
APPLICATION_FORM_URLENCODED(MediaType.APPLICATION_FORM_URLENCODED_VALUE),
MULTIPART_FORM_DATA(MediaType.MULTIPART_FORM_DATA_VALUE),
TEXT_HTML(MediaType.TEXT_HTML_VALUE),
TEXT_PLAIN(MediaType.TEXT_PLAIN_VALUE),
TEXT_XML(MediaType.TEXT_XML_VALUE),
APPLICATION_PDF(MediaType.APPLICATION_PDF_VALUE),
IMAGE_JPEG(MediaType.IMAGE_JPEG_VALUE),
IMAGE_PNG(MediaType.IMAGE_PNG_VALUE),
APPLICATION_OCTET_STREAM(MediaType.APPLICATION_OCTET_STREAM_VALUE);
private final String value;
MediaTypes(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// ==================== LOGGING LEVELS ====================
public enum LogLevels {
TRACE(LogLevel.TRACE.name()),
DEBUG(LogLevel.DEBUG.name()),
INFO(LogLevel.INFO.name()),
WARN(LogLevel.WARN.name()),
ERROR(LogLevel.ERROR.name()),
FATAL(LogLevel.FATAL.name()),
OFF(LogLevel.OFF.name());
private final String value;
LogLevels(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// ==================== ACTUATOR HEALTH STATUS ====================
public enum HealthStatuses {
UP(Status.UP.getCode()),
DOWN(Status.DOWN.getCode()),
OUT_OF_SERVICE(Status.OUT_OF_SERVICE.getCode()),
UNKNOWN(Status.UNKNOWN.getCode());
private final String value;
HealthStatuses(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment