Je cherche parmi les bibliothèques standard (comme Apache commons, jax, jboss, javax) une interface ou une énumération qui répertorie les valeurs de tous les types mime standard (ou content-type).
Cette interface ne doit pas être encombrée de ressources trop profondes avec d’autres classes, ce qui rendrait difficile l’inclusion de tout le groupe en tant que code source gwt.
par exemple
interface ContentType{
String JSON = "Application/JSON";
blah ... blah ...
}
ou,
enum ContentType{
JSON("Application/JSON"),
blah ... blah ...
}
Nous avons une classe Guava pour cela: com.google.common.net.MediaType
.
Il a été publié avec Guava 12 comme indiqué dans le code source et dans Issue 823 . Les sources sont également disponibles.
De https://docs.Oracle.com/javaee/7/api/javax/ws/rs/core/MediaType.html :
staticjava.lang.String APPLICATION_ATOM_XML "application/atom+xml"
staticMediaType APPLICATION_ATOM_XML_TYPE "application/atom+xml"
staticjava.lang.String APPLICATION_FORM_URLENCODED "application/x-www-form-urlencoded"
staticMediaType APPLICATION_FORM_URLENCODED_TYPE "application/x-www-form-urlencoded"
staticjava.lang.String APPLICATION_JSON "application/json"
staticMediaType APPLICATION_JSON_TYPE "application/json"
staticjava.lang.String APPLICATION_OCTET_STREAM "application/octet-stream"
staticMediaType APPLICATION_OCTET_STREAM_TYPE "application/octet-stream"
staticjava.lang.String APPLICATION_SVG_XML "application/svg+xml"
staticMediaType APPLICATION_SVG_XML_TYPE "application/svg+xml"
staticjava.lang.String APPLICATION_XHTML_XML "application/xhtml+xml"
staticMediaType APPLICATION_XHTML_XML_TYPE "application/xhtml+xml"
staticjava.lang.String APPLICATION_XML "application/xml"
staticMediaType APPLICATION_XML_TYPE "application/xml"
staticjava.lang.String MEDIA_TYPE_WILDCARD The value of a type or subtype wildcard: "*"
staticjava.lang.String MULTIPART_FORM_DATA "multipart/form-data"
staticMediaType MULTIPART_FORM_DATA_TYPE "multipart/form-data"
staticjava.lang.String TEXT_HTML "text/html"
staticMediaType TEXT_HTML_TYPE "text/html"
staticjava.lang.String TEXT_PLAIN "text/plain"
staticMediaType TEXT_PLAIN_TYPE "text/plain"
staticjava.lang.String TEXT_XML "text/xml"
staticMediaType TEXT_XML_TYPE "text/xml"
staticjava.lang.String WILDCARD "*/*"
staticMediaType WILDCARD_TYPE "*/*"
Si vous utilisez Spring Framework , il existe un MediaType class pour les types de contenu courants:
MediaType.TEXT_HTML
MediaType.TEXT_PLAIN
MediaType.TEXT_XML
MediaType.APPLICATION_JSON
MediaType.IMAGE_JPEG
...
Il existe maintenant aussi la classe org.Apache.http.entity.ContentType
du paquet org.Apache.httpcomponents.httpcore
, à partir de 4,2.
javax.ws.rs.core.MediaType
de JAX-RS
Java 7 à la rescousse!
Vous pouvez soit transmettre le fichier ou le nom du fichier et le type MIME sera renvoyé.
String mimeType = MimetypesFileTypeMap
.getDefaultFileTypeMap()
.getContentType(attachment.getFileName());
http://docs.Oracle.com/javase/7/docs/api/javax/activation/MimetypesFileTypeMap.html
Il existe également une classe MediaType
dans androidannotations au cas où vous souhaiteriez utiliser Android! Voir ici .
Comme indiqué dans la réponse ci-dessus, vous pouvez utiliser javax.ws.rs.core.MediaType
qui contient les constantes requises.
Je souhaitais également partager un lien vraiment cool et pratique, qui donnait une référence à toutes les constantes Javax au même endroit - https://docs.Oracle.com/javaee/7/api/constant-values.html .