I vari discorsi che ho visto e le esercitazioni che ho scannerizzato su REST sembrano sottolineare qualcosa chiamato "rilevabilità". Per mia comprensione limitata, il termine sembra significare che un cliente dovrebbe essere in grado di andare http://URL
e ottenere automaticamente un elenco di cose che può fare.
Quello che ho difficoltà a capire è che i "client software" non sono esseri umani. Sono solo programmi che non hanno le conoscenze intuitive per capire cosa fare esattamente con i collegamenti forniti. Solo le persone possono visitare un sito Web e dare un senso al testo e ai collegamenti presentati e agire su di esso.
Allora, qual è il punto di rilevabilità, quando il codice client che accede a tali URL rilevabili non può effettivamente fare nulla con esso, a meno che lo sviluppatore umano del client non provi effettivamente con le risorse presentate? Sembra esattamente la stessa cosa che definisce l'insieme delle funzioni disponibili in un manuale di documentazione, da una direzione diversa e che coinvolge effettivamente più lavoro per lo sviluppatore. Perché questo secondo approccio di pre-definizione di ciò che può essere fatto in un documento esterno alle risorse REST effettive, è considerato inferiore?