Le type de média JSON officiel est application/json
. Le fournisseur de RESTEasy pour Jackson, ResteasyJackson2Provider
, précise les types de médias comme ceci:Corriger le type de média JAX-RS correspondant pour le fournisseur JSON
@Provider
@Consumes({"application/*+json", "text/json"})
@Produces({"application/*+json", "text/json"})
public class ResteasyJackson2Provider extends JacksonJaxbJsonProvider
…
Je ne comprends pas. Je comprends que "application/*+json"
correspondrait par ex. application/foo+json
. Mais cela correspondrait-il à application/json
sans le signe plus +
? Est-ce dans la spécification JAX-RS? Cela ne coïncide pas avec la façon dont je m'attends à ce qu'un caractère générique fonctionne, sauf si la correspondance de type de média JAX-RS a une certaine compréhension de la sémantique des sous-composants de type de média.
Je n'ai rien trouvé dans [JAX-RS spec] (http://download.oracle.com/otndocs/jcp/jaxrs-2_0-fr-eval-spec/index.html) (les sous-types sont concrets ou caractère générique, aucune combinaison) et ['MediaType # isCompatible'] (https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/MediaType.html#isCompatible-javax.ws.rs .core.MediaType-) ne peut pas le gérer. 'application/* + json semble être faux ou une fonction de vendeur de RestEasy. – dur
Oui ce spécifique de resteasy. Et "application/json" correspond "application/* + json". Voir [MediaTypeMap.SubTypeMap.getPossible] (https://github.com/resteasy/Resteasy/blob/c68a7a679e0bc872e48da75eb357f6246df10ec7/resteasy-jaxrs/src/main/java/org/jboss/resteasy/core/MediaTypeMap.java#L227) – CyberWasp
Mais est-ce une partie standard de JAX-RS? Est-ce que je m'attendrais à ce que cela fonctionne avec d'autres implémentations de JAX-RS? Veuillez fournir une réponse distincte afin que je puisse la marquer comme correcte si vous donnez une référence. Merci. –