Implémentation de la négociation de contenu basée sur des modèles d'URL

Les applications REST (Representational State Transfer) peuvent retourner différentes représentations des ressources. Vous pouvez utiliser la négociation de contenu basée sur des modèles d'URL pour déterminer le format de contenu utilisé pour échanger des données entre les serveurs et les clients.

Pourquoi et quand exécuter cette tâche

Les ressources peuvent représenter les données dans différents formats. Vous pouvez implémenter la négociation de contenu basée sur des URL, des paramètres de demande ou des en-têtes HTTP. Cette tâche explique la négociation de contenu basée sur des modèles d'URL. La négociation de contenu en utilisant des URL est le type le plus simple de négociation de contenu. Ce type de négociation de contenu retourne toujours le même contenu avec le même type de support pour une URL donnée.

Procédure

Utilisez l'identificateur URI défini dans l'annotation @Path pour déterminer le type de contenu des données retournées au serveur.

L'exemple suivant montre la négociation de contenu exécutée au niveau de l'URL. Une demande à /resources/myresource.xml retourne la représentation de ressource dans le format XML. Une demande à /resources/myresource.json retourne la représentation de ressource dans le format JSON.

@Path("/resources")
public class Resource {
    @Path("{resourceID}.xml")
    @GET public Response getResourceInXML(@PathParam("resourceID") String resourceID) {
        return Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();
    }

    @Path("{resourceID}.json")
    @GET
    public Response getResourceInJSON(@PathParam("resourceID") String resourceID) {
        return Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();
    }
}

Résultats

Vous avez implémenté la négociation de contenu en utilisant des modèles d'URL pour déterminer les formats des ressources qui représentent des données.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_contentnegotiation_url
Nom du fichier : twbs_jaxrs_contentnegotiation_url.html