diff --git a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java
index 05809bc5ad7..c7c5468b589 100644
--- a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java
+++ b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java
@@ -65,6 +65,17 @@ public abstract class MimeTypeUtils {
*/
public static final String ALL_VALUE = "*/*";
+ /**
+ * Public constant mime type for {@code application/graphql+json}.
+ * @see GraphQL over HTTP spec
+ * */
+ public static final MimeType APPLICATION_GRAPHQL;
+
+ /**
+ * A String equivalent of {@link MimeTypeUtils#APPLICATION_GRAPHQL}.
+ */
+ public static final String APPLICATION_GRAPHQL_VALUE = "application/graphql+json";
+
/**
* Public constant mime type for {@code application/json}.
* */
@@ -165,6 +176,7 @@ public abstract class MimeTypeUtils {
static {
// Not using "parseMimeType" to avoid static init cost
ALL = new MimeType("*", "*");
+ APPLICATION_GRAPHQL = new MimeType("application", "graphql+json");
APPLICATION_JSON = new MimeType("application", "json");
APPLICATION_OCTET_STREAM = new MimeType("application", "octet-stream");
APPLICATION_XML = new MimeType("application", "xml");
diff --git a/spring-web/src/main/java/org/springframework/http/MediaType.java b/spring-web/src/main/java/org/springframework/http/MediaType.java
index 729555add95..2a784e0386b 100644
--- a/spring-web/src/main/java/org/springframework/http/MediaType.java
+++ b/spring-web/src/main/java/org/springframework/http/MediaType.java
@@ -95,6 +95,17 @@ public class MediaType extends MimeType implements Serializable {
*/
public static final String APPLICATION_FORM_URLENCODED_VALUE = "application/x-www-form-urlencoded";
+ /**
+ * Public constant media type for {@code application/graphql+json}.
+ * @see GraphQL over HTTP spec
+ */
+ public static final MediaType APPLICATION_GRAPHQL;
+
+ /**
+ * A String equivalent of {@link MediaType#APPLICATION_GRAPHQL}.
+ */
+ public static final String APPLICATION_GRAPHQL_VALUE = "application/graphql+json";
+
/**
* Public constant media type for {@code application/json}.
*/
@@ -396,6 +407,7 @@ public class MediaType extends MimeType implements Serializable {
APPLICATION_ATOM_XML = new MediaType("application", "atom+xml");
APPLICATION_CBOR = new MediaType("application", "cbor");
APPLICATION_FORM_URLENCODED = new MediaType("application", "x-www-form-urlencoded");
+ APPLICATION_GRAPHQL = new MediaType("application", "graphql+json");
APPLICATION_JSON = new MediaType("application", "json");
APPLICATION_JSON_UTF8 = new MediaType("application", "json", StandardCharsets.UTF_8);
APPLICATION_NDJSON = new MediaType("application", "x-ndjson");