Package io.micronaut.http
Class MediaType
java.lang.Object
io.micronaut.http.MediaType
- All Implemented Interfaces:
CharSequence
Represents a media type.
See https://www.iana.org/assignments/media-types/media-types.xhtml and https://tools.ietf.org/html/rfc2046
- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringA wildcard media type representing all types.static final MediaTypeA wildcard media type representing all types.static final StringAtom: application/atom+xml.static final MediaTypeAtom: application/atom+xml.static final StringForm encoded data: application/x-www-form-urlencoded.static final MediaTypeForm encoded data: application/x-www-form-urlencoded.static final StringGraphQL: application/graphql.static final MediaTypeGraphQL: application/graphql.static final StringHAL JSON: application/hal+json.static final MediaTypeHAL JSON: application/hal+json.static final StringHAL XML: application/hal+xml.static final MediaTypeHAL XML: application/hal+xml.static final StringJSON: application/json.static final StringJSON Feed: application/feed+json.static final MediaTypeJSON Feed: application/feed+json.static final StringJSON GitHub: application/vnd.github+json.static final MediaTypeJSON GitHub: application/vnd.github+json.static final Stringstatic final MediaTypeJSON Merge Patch: application/merge-patch+json.static final Stringstatic final MediaTypeJSON Patch: application/json-patch+json.static final StringJSON Feed: application/problem+json.static final MediaTypeJSON Feed: application/problem+json.static final StringJSON Stream: application/x-json-stream.static final MediaTypeJSON Stream: application/x-json-stream.static final MediaTypeJSON: application/json.static final StringBINARY: application/octet-stream.static final MediaTypeBINARY: application/octet-stream.static final StringPDF: application/pdf.static final MediaTypePDF: application/pdf.static final StringVND Error: application/vnd.error+json.static final MediaTypeVND Error: application/vnd.error+json.static final StringXHTML: application/xhtml+xml.static final MediaTypeXHTML: application/xhtml+xml.static final StringXML: application/xml.static final MediaTypeXML: application/xml.static final StringYAML: application/x-yaml.static final MediaTypeYAML: application/x-yaml.static final StringParameter"charset".static final MediaType[]Default empty media type array.protected final Stringstatic final StringDefault file extension used for JSON.static final StringDefault file extension used for PDF.static final StringFile extension for Microsoft Excel's workbook files in use between 97-2003.static final StringFile extension used for Microsoft Excel Open XML Spreadsheet (XLSX).static final StringDefault file extension used for XML.static final MediaTypeShortcut forAPPLICATION_FORM_URLENCODED_TYPE.static final StringGif Image: image/gif.static final MediaTypeGif Image: image/gif.static final StringJpeg Image: image/jpeg.static final MediaTypeJpeg Image: image/jpeg.static final StringPng Image: image/png.static final MediaTypePng Image: image/png.static final StringWebp Image: image/webp.static final MediaTypeWebp Image: image/webp.static final StringMicrosoft Excel's workbook files in use between 97-2003.static final StringXML: Microsoft Excel Open XML Spreadsheet (XLSX).static final MediaTypeXML: Microsoft Excel Open XML Spreadsheet (XLSX).static final MediaTypeMicrosoft Excel's workbook files in use between 97-2003.static final StringMulti part form data: multipart/form-data.static final MediaTypeMulti part form data: multipart/form-data.protected final Stringprotected final Map<CharSequence,String> static final StringParameter"q".protected final Stringstatic final StringCSV: text/csv.static final MediaTypeCSV: text/csv.static final StringServer Sent Event: text/event-stream.static final MediaTypeServer Sent Event: text/event-stream.static final StringHTML: text/html.static final MediaTypeHTML: text/html.static final StringJSON: text/json.static final MediaTypeJSON: text/json.static final StringPlain Text: text/plain.static final MediaTypePlain Text: text/plain.static final StringXML: text/xml.static final MediaTypeXML: text/xml.protected final Stringstatic final StringParameter"v". -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new media type for the given string.Constructs a new media type for the given string and extension.Constructs a new media type for the given string and extension.Constructs a new media type for the given string and parameters. -
Method Summary
Modifier and TypeMethodDescriptioncharcharAt(int index) booleanforExtension(String extension) Resolve theMediaTypefor the given file extension.static MediaTypeforFilename(String filename) Resolve theMediaTypefor the given file name.getName()io.micronaut.core.value.OptionalValues<String>getType()inthashCode()booleanstatic booleanisTextBased(String contentType) intlength()booleanDetermine if this requested content type can be satisfied by a given content type.static MediaTypeof(CharSequence mediaType) Create a newMediaTypefrom the given text.static MediaType[]of(CharSequence... mediaType) Create a newMediaTypefrom the given text.static MediaTypeCreate a new or get aMediaTypefrom the given text.orderedOf(CharSequence... values) Returns the ordered media types for the given values.orderedOf(List<? extends CharSequence> values) Returns the ordered media types for the given values.subSequence(int start, int end) toString()voidValidate this media type for sending as an HTTP header.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.CharSequence
chars, codePoints, isEmpty
-
Field Details
-
EXTENSION_JSON
Default file extension used for JSON.- See Also:
-
EXTENSION_XML
Default file extension used for XML.- See Also:
-
EXTENSION_PDF
Default file extension used for PDF.- See Also:
-
EXTENSION_XLSX
File extension used for Microsoft Excel Open XML Spreadsheet (XLSX).- See Also:
-
EXTENSION_XLS
File extension for Microsoft Excel's workbook files in use between 97-2003.- See Also:
-
EMPTY_ARRAY
Default empty media type array. -
ALL
A wildcard media type representing all types.- See Also:
-
ALL_TYPE
A wildcard media type representing all types. -
APPLICATION_FORM_URLENCODED
Form encoded data: application/x-www-form-urlencoded.- See Also:
-
APPLICATION_FORM_URLENCODED_TYPE
Form encoded data: application/x-www-form-urlencoded. -
FORM
Shortcut forAPPLICATION_FORM_URLENCODED_TYPE. -
MULTIPART_FORM_DATA
Multi part form data: multipart/form-data.- See Also:
-
MULTIPART_FORM_DATA_TYPE
Multi part form data: multipart/form-data. -
TEXT_HTML
HTML: text/html.- See Also:
-
TEXT_HTML_TYPE
HTML: text/html. -
TEXT_CSV
CSV: text/csv.- See Also:
-
TEXT_CSV_TYPE
CSV: text/csv. -
APPLICATION_XHTML
XHTML: application/xhtml+xml.- See Also:
-
APPLICATION_XHTML_TYPE
XHTML: application/xhtml+xml. -
APPLICATION_XML
XML: application/xml.- See Also:
-
APPLICATION_XML_TYPE
XML: application/xml. -
APPLICATION_JSON_GITHUB
JSON GitHub: application/vnd.github+json.- See Also:
-
APPLICATION_JSON_GITHUB_TYPE
JSON GitHub: application/vnd.github+json. -
APPLICATION_JSON_FEED
JSON Feed: application/feed+json.- See Also:
-
APPLICATION_JSON_FEED_TYPE
JSON Feed: application/feed+json. -
APPLICATION_JSON_PATCH
- See Also:
-
- JSON Patch JSON Patch: application/json-patch+json.
- Constant Field Values
-
APPLICATION_JSON_PATCH_TYPE
JSON Patch: application/json-patch+json. -
APPLICATION_JSON_MERGE_PATCH
- See Also:
-
- JSON Merge Patch JSON Merge Patch: application/merge-patch+json
- Constant Field Values
-
APPLICATION_JSON_MERGE_PATCH_TYPE
JSON Merge Patch: application/merge-patch+json. -
APPLICATION_JSON_PROBLEM
JSON Feed: application/problem+json.- See Also:
-
APPLICATION_JSON_PROBLEM_TYPE
JSON Feed: application/problem+json. -
APPLICATION_JSON
JSON: application/json.- See Also:
-
APPLICATION_JSON_TYPE
JSON: application/json. -
APPLICATION_YAML
YAML: application/x-yaml.- See Also:
-
APPLICATION_YAML_TYPE
YAML: application/x-yaml. -
MICROSOFT_EXCEL_OPEN_XML
XML: Microsoft Excel Open XML Spreadsheet (XLSX).- See Also:
-
MICROSOFT_EXCEL_OPEN_XML_TYPE
XML: Microsoft Excel Open XML Spreadsheet (XLSX). -
MICROSOFT_EXCEL
Microsoft Excel's workbook files in use between 97-2003.- See Also:
-
MICROSOFT_EXCEL_TYPE
Microsoft Excel's workbook files in use between 97-2003. -
TEXT_XML
XML: text/xml.- See Also:
-
TEXT_XML_TYPE
XML: text/xml. -
TEXT_JSON
JSON: text/json.- See Also:
-
TEXT_JSON_TYPE
JSON: text/json. -
TEXT_PLAIN
Plain Text: text/plain.- See Also:
-
TEXT_PLAIN_TYPE
Plain Text: text/plain. -
APPLICATION_HAL_JSON
HAL JSON: application/hal+json.- See Also:
-
APPLICATION_HAL_JSON_TYPE
HAL JSON: application/hal+json. -
APPLICATION_HAL_XML
HAL XML: application/hal+xml.- See Also:
-
APPLICATION_HAL_XML_TYPE
HAL XML: application/hal+xml. -
APPLICATION_ATOM_XML
Atom: application/atom+xml.- See Also:
-
APPLICATION_ATOM_XML_TYPE
Atom: application/atom+xml. -
APPLICATION_VND_ERROR
VND Error: application/vnd.error+json.- See Also:
-
APPLICATION_VND_ERROR_TYPE
VND Error: application/vnd.error+json. -
TEXT_EVENT_STREAM
Server Sent Event: text/event-stream.- See Also:
-
TEXT_EVENT_STREAM_TYPE
Server Sent Event: text/event-stream. -
APPLICATION_JSON_STREAM
JSON Stream: application/x-json-stream.- See Also:
-
APPLICATION_JSON_STREAM_TYPE
JSON Stream: application/x-json-stream. -
APPLICATION_OCTET_STREAM
BINARY: application/octet-stream.- See Also:
-
APPLICATION_OCTET_STREAM_TYPE
BINARY: application/octet-stream. -
APPLICATION_GRAPHQL
GraphQL: application/graphql.- See Also:
-
APPLICATION_GRAPHQL_TYPE
GraphQL: application/graphql. -
APPLICATION_PDF
PDF: application/pdf.- See Also:
-
APPLICATION_PDF_TYPE
PDF: application/pdf. -
IMAGE_PNG
Png Image: image/png.- See Also:
-
IMAGE_PNG_TYPE
Png Image: image/png. -
IMAGE_JPEG
Jpeg Image: image/jpeg.- See Also:
-
IMAGE_JPEG_TYPE
Jpeg Image: image/jpeg. -
IMAGE_GIF
Gif Image: image/gif.- See Also:
-
IMAGE_GIF_TYPE
Gif Image: image/gif. -
IMAGE_WEBP
Webp Image: image/webp.- See Also:
-
IMAGE_WEBP_TYPE
Webp Image: image/webp. -
CHARSET_PARAMETER
Parameter"charset".- See Also:
-
Q_PARAMETER
Parameter"q".- See Also:
-
V_PARAMETER
Parameter"v".- See Also:
-
name
-
subtype
-
type
-
extension
-
parameters
-
-
Constructor Details
-
MediaType
Constructs a new media type for the given string.- Parameters:
name- The name of the media type. For example application/json
-
MediaType
Constructs a new media type for the given string and parameters.- Parameters:
name- The name of the media type. For example application/jsonparams- The parameters
-
MediaType
Constructs a new media type for the given string and extension.- Parameters:
name- The name of the media type. For example application/jsonextension- The extension of the file using this media type if it differs from the subtype
-
MediaType
Constructs a new media type for the given string and extension.- Parameters:
name- The name of the media type. For example application/jsonextension- The extension of the file using this media type if it differs from the subtypeparams- The parameters
-
-
Method Details
-
of
Create a new or get aMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
matches
Determine if this requested content type can be satisfied by a given content type. e.g. text/* will be satisfied by test/html.- Parameters:
expectedContentType- Content type to match against- Returns:
- if successful match
-
getName
- Returns:
- The name of the mime type without any parameters
-
getType
- Returns:
- The type of the media type. For example for application/hal+json this would return "application"
-
getSubtype
- Returns:
- The subtype. For example for application/hal+json this would return "hal+json"
-
getExtension
- Returns:
- The extension. For example for application/hal+json this would return "json"
-
getParameters
- Returns:
- The parameters to the media type
-
getQuality
- Returns:
- The quality of the Mime type
-
getQualityAsNumber
- Returns:
- The quality in BigDecimal form
-
getVersion
- Returns:
- The version of the Mime type
-
getCharset
- Returns:
- The charset of the media type if specified
-
length
public int length()- Specified by:
lengthin interfaceCharSequence
-
charAt
public char charAt(int index) - Specified by:
charAtin interfaceCharSequence
-
subSequence
- Specified by:
subSequencein interfaceCharSequence
-
isTextBased
public boolean isTextBased()- Returns:
- Whether the media type is text based
-
isTextBased
- Parameters:
contentType- The content type- Returns:
- Whether the content type is text based
-
validate
Validate this media type for sending as an HTTP header. This is an optimization to only run the validation once if possible. If the validation function does not throw, future calls to this method will not call the validation function again.- Parameters:
r- Validation function
-
toString
- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classObject
-
equals
Only the name is matched. Parameters are not included.
-
hashCode
public int hashCode() -
orderedOf
Returns the ordered media types for the given values.- Parameters:
values- The values- Returns:
- The media types.
- Since:
- 1.3.3
-
orderedOf
Returns the ordered media types for the given values.- Parameters:
values- The values- Returns:
- The media types.
- Since:
- 1.3.3
-
of
Create a newMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
of
Create a newMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
fromType
-
forExtension
Resolve theMediaTypefor the given file extension.- Parameters:
extension- The file extension- Returns:
- The
MediaType
-
forFilename
Resolve theMediaTypefor the given file name. Defaults to text/plain.- Parameters:
filename- The file name- Returns:
- The
MediaType
-