2010-06-17 28 views
4

D'après ce que je comprends, j'ai besoin d'utiliser WADL pour décrire un service Web RESTful. Pourtant, j'ai lu beaucoup de réponses dans les messages pertinents, où les utilisateurs sont fortement opposés à l'utilisation de WADL.Description du service RESTful

Quels sont les inconvénients de WADL? Y a-t-il une solution alternative?

+1

Qu'essayez-vous d'accomplir? Pourquoi auriez-vous besoin d'une description formelle de votre service? –

+0

@William: ça serait bien s'il y avait une description qui pourrait être consommée par un outil, ce qui aiderait à générer le code d'accès pour vous. –

+0

@John: Cela pourrait être sympa, ou cela pourrait être un signe que vos outils ne sont pas bien adaptés au problème. La génération de code est une mauvaise substitution pour extraire la duplication et augmenter l'expressivité. –

Répondre

4

La spécification HTTP vous indique comment récupérer et mettre à jour les ressources. Les ressources sont identifiées par des URI et doivent être liées entre elles. Toutes les données doivent donc pouvoir être détectées à partir de l'URL de la racine du service, comme les pages d'un site Web. Ce que cela vous laisse est de documenter les types de médias que vous transférez à travers le fil.

Si vous adoptez cette approche et que vous réutilisez des types de support sur plusieurs services, il vous suffit de documenter le type de support une fois et il sera applicable à tous les services.

Une fois que vous avez fait ces étapes, WADL n'a plus vraiment rien à documenter.

Si vous voulez faire REST, vous ne pouvez pas utiliser WADL pour générer des clients, car cela crée un couplage étroit entre le client et le serveur. Si cela vous convient, d'accord, mais sachez que vous ne faites pas REST et que vous ne réaliserez donc pas certains des avantages de REST.

+1

Exactement. Pour en savoir plus, voir ce post de Roy Fielding, la personne qui a inventé le terme REST: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven –