From 0ccd2f8b8749dfd9c019b14f05ef28f7c993833e Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Fri, 2 Dec 2022 16:25:59 +0100 Subject: [PATCH] Deprecate GraphQL media type in favor of new one This commit deprecates the `"application/graphql+json"` media type in favor of the new `"application/graphql-response+json"`, since the former has been removed in graphql/graphql-over-http#215. Closes gh-29617 --- .../org/springframework/http/MediaType.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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 d290e506de9c..149805b87916 100644 --- a/spring-web/src/main/java/org/springframework/http/MediaType.java +++ b/spring-web/src/main/java/org/springframework/http/MediaType.java @@ -98,16 +98,34 @@ public class MediaType extends MimeType implements Serializable { /** * Public constant media type for {@code application/graphql+json}. * @since 5.3.19 - * @see GraphQL over HTTP spec + * @see GraphQL over HTTP spec change + * @deprecated as of 6.0.3, in favor of {@link MediaType#APPLICATION_GRAPHQL_RESPONSE} */ + @Deprecated(since = "6.0.3", forRemoval = true) public static final MediaType APPLICATION_GRAPHQL; /** * A String equivalent of {@link MediaType#APPLICATION_GRAPHQL}. * @since 5.3.19 + * @deprecated as of 6.0.3, in favor of {@link MediaType#APPLICATION_GRAPHQL_RESPONSE_VALUE} */ + @Deprecated(since = "6.0.3", forRemoval = true) public static final String APPLICATION_GRAPHQL_VALUE = "application/graphql+json"; + /** + * Public constant media type for {@code application/graphql-response+json}. + * @since 6.0.3 + * @see GraphQL over HTTP spec + */ + public static final MediaType APPLICATION_GRAPHQL_RESPONSE; + + /** + * A String equivalent of {@link MediaType#APPLICATION_GRAPHQL_RESPONSE}. + * @since 6.0.3 + */ + public static final String APPLICATION_GRAPHQL_RESPONSE_VALUE = "application/graphql-response+json"; + + /** * Public constant media type for {@code application/json}. */ @@ -422,6 +440,7 @@ public class MediaType extends MimeType implements Serializable { APPLICATION_CBOR = new MediaType("application", "cbor"); APPLICATION_FORM_URLENCODED = new MediaType("application", "x-www-form-urlencoded"); APPLICATION_GRAPHQL = new MediaType("application", "graphql+json"); + APPLICATION_GRAPHQL_RESPONSE = new MediaType("application", "graphql-response+json"); APPLICATION_JSON = new MediaType("application", "json"); APPLICATION_JSON_UTF8 = new MediaType("application", "json", StandardCharsets.UTF_8); APPLICATION_NDJSON = new MediaType("application", "x-ndjson");