Document WADL pour vos ressources

Un développeur peut décider de ne pas exposer le document WADL (Web Application Description Language) via une demande OPTIONS pour limiter la quantité d'informations qu'un tiers peut rassembler sur un service. En fournissant moins d'informations, la sécurité est assurée.

Pourquoi et quand exécuter cette tâche

Par défaut, un document WADL peut être demandé pour une ressource particulière en appelant une demande HTTP OPTIONS pour toute URL Java™ API for RESTful Web Services (JAX-RS). Vous pouvez émettre une demande OPTIONS avec la plupart des clients HTTP.

Vous pouvez également créer votre propre document WADL en utilisant le org.apache.wink.common.model.wadl.WADLGenerator. WADLGenerator crée un modèle d'objet annoté Java Architecture for XML Binding (JAXB) pour que vous puissiez facilement le renvoyer en réponse d'entité dans une méthode de ressource @OPTIONS. Si vous souhaitez un document de service pour toutes les classes dans votre application, vous pouvez utiliser le WADLGenerator pour créer une représentation WADL. Le document du service peut aider à comprendre.

Dans l'exemple suivant, vous pouvez utiliser le WADLGenerator pour créer un modèle JAXB de vos ressources. Vous pouvez alors retourner le modèle JAXB pour l'utilisation clients.

Procédure

  1. Vous pouvez injecter la sous-classe de l'application qui contient toutes vos classes de ressources. Vous pouvez alors transmettre les classes au WADLGenerator de sorte à générer toutes vos classes.
  2. Renvoyez la classe org.apache.wink.common.model.wadl.Application, qui est un modèle annoté JAXB. Le types annotés JAX-RS MessageBodyWriter for JAXB sont utilisés pour sérialiser le document WADL au client.

Exemple

L'exemple suivant illustre une ressource de base avec une demande OPTIONS :
@javax.ws.rs.Path("myexample")
public class MyResource {
    @Context
    javax.ws.rs.core.Application app;
    
    @javax.ws.rs.OPTIONS
    @Produces("application/vnd.sun.wadl+xml")
    public org.apache.wink.common.model.wadl.Application getOptions() {
        org.apache.wink.common.model.wadl.Application wadlAppDoc = new WADLGenerator().generate("", app.getClasses());
        /* modify the  wadlAppDoc JAXB model if you want to add additional information */
        return wadlAppDoc;
    }
}	

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_wadl_serving
Nom du fichier : twbs_jaxrs_wadl_serving.html