Les différents exposés que j'ai regardés et les didacticiels que j'ai scannés sur REST semblent mettre l'accent sur quelque chose appelé «découvrabilité». À ma connaissance limitée, le terme semble signifier qu'un client devrait pouvoir aller http://URL
- et obtenir automatiquement une liste de choses qu'il peut faire.
Ce que j'ai du mal à comprendre, c'est que les «clients logiciels» ne sont pas des êtres humains. Ce ne sont que des programmes qui n'ont pas les connaissances intuitives pour comprendre quoi faire exactement avec les liens fournis. Seules les personnes peuvent accéder à un site Web et donner un sens au texte et aux liens présentés et agir en conséquence.
Quel est donc l'intérêt de la possibilité de découverte, lorsque le code client qui accède à de telles URL détectables ne peut réellement rien en faire, à moins que le développeur humain du client n'effectue réellement des expériences avec les ressources présentées? Cela ressemble exactement à la définition de l'ensemble des fonctions disponibles dans un manuel de documentation, venant d'une direction différente et impliquant en fait plus de travail pour le développeur. Pourquoi cette seconde approche consistant à prédéfinir ce qui peut être fait dans un document externe aux ressources REST réelles, est-elle considérée comme inférieure?