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
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.