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 ca5421a71c0a..724fa889ef47 100644 --- a/spring-web/src/main/java/org/springframework/http/MediaType.java +++ b/spring-web/src/main/java/org/springframework/http/MediaType.java @@ -307,6 +307,73 @@ public class MediaType extends MimeType implements Serializable { */ public final static String TEXT_XML_VALUE = "text/xml"; + /** + * Public constant media type for {@code application/problem+json}. + * @since 5.0 + * @see Problem Details for HTTP APIs, 6.1. application/problem+json + */ + public final static MediaType APPLICATION_PROBLEM_JSON; + + /** + * A String equivalent of {@link MediaType#APPLICATION_PROBLEM_JSON}. + * @since 5.0 + */ + public final static String APPLICATION_PROBLEM_JSON_VALUE = "application/problem+json"; + + /** + * Public constant media type for {@code application/problem+json;charset=UTF-8}. + * @since 5.0 + * @see Problem Details for HTTP APIs, 6.1. application/problem+json + */ + public final static MediaType APPLICATION_PROBLEM_JSON_UTF8; + + /** + * A String equivalent of {@link MediaType#APPLICATION_PROBLEM_JSON_UTF8}. + * @since 5.0 + */ + public final static String APPLICATION_PROBLEM_JSON_UTF8_VALUE = APPLICATION_PROBLEM_JSON_VALUE + "charset=UTF-8"; + + /** + * Public constant media type for {@code application/problem+xml}. + * @since 5.0 + * @see Problem Details for HTTP APIs, 6.2. application/problem+xml + */ + public final static MediaType APPLICATION_PROBLEM_XML; + + /** + * A String equivalent of {@link MediaType#APPLICATION_PROBLEM_XML}. + * @since 5.0 + */ + public final static String APPLICATION_PROBLEM_XML_VALUE = "application/problem+xml"; + + /** + * Public constant media type for {@code application/schema+json}. + * @since 5.0 + * @see JSON Schema: A Media Type for Describing JSON Documents. application/schema+json + */ + public final static MediaType APPLICATION_SCHEMA_JSON; + + /** + * A String equivalent of {@link MediaType#APPLICATION_SCHEMA_JSON}. + * @since 5.0 + */ + public final static String APPLICATION_SCHEMA_JSON_VALUE = "application/schema+json"; + + /** + * Public constant media type for {@code application/schema+json;charset=UTF-8}. + * @since 5.0 + * @see JSON Schema: A Media Type for Describing JSON Documents. application/schema+json + */ + public final static MediaType APPLICATION_SCHEMA_JSON_UTF8; + + /** + * A String equivalent of {@link MediaType#APPLICATION_SCHEMA_JSON_UTF8}. + * @since 5.0 + */ + public final static String APPLICATION_SCHEMA_JSON_UTF8_VALUE = APPLICATION_SCHEMA_JSON_VALUE + ";charset=UTF-8"; + + + private static final String PARAM_QUALITY_FACTOR = "q"; @@ -320,6 +387,8 @@ public class MediaType extends MimeType implements Serializable { APPLICATION_PDF = valueOf(APPLICATION_PDF_VALUE); APPLICATION_PROBLEM_JSON = valueOf(APPLICATION_PROBLEM_JSON_VALUE); APPLICATION_PROBLEM_JSON_UTF8 = valueOf(APPLICATION_PROBLEM_JSON_UTF8_VALUE); + APPLICATION_SCHEMA_JSON = valueOf(APPLICATION_SCHEMA_JSON_VALUE); + APPLICATION_SCHEMA_JSON_UTF8 = valueOf(APPLICATION_SCHEMA_JSON_UTF8_VALUE); APPLICATION_PROBLEM_XML = valueOf(APPLICATION_PROBLEM_XML_VALUE); APPLICATION_RSS_XML = valueOf(APPLICATION_RSS_XML_VALUE); APPLICATION_STREAM_JSON = valueOf(APPLICATION_STREAM_JSON_VALUE);