Różne rozmowy, które oglądałem i samouczki, które zeskanowałem w REST, wydają się podkreślać coś, co nazywa się „wykrywalnością”. Według mojego ograniczonego zrozumienia termin ten wydaje się oznaczać, że klient powinien być w stanie przejść do http://URL
- i automatycznie uzyskać listę rzeczy, które może zrobić.
Mam problem ze zrozumieniem - to, że „klienci oprogramowania” nie są ludźmi. Są to po prostu programy, które nie mają intuicyjnej wiedzy, aby zrozumieć, co dokładnie zrobić z podanymi linkami. Tylko ludzie mogą wejść na stronę internetową i zrozumieć tekst i linki oraz działać na ich podstawie.
Jaki jest zatem sens wykrywalności, kiedy kod klienta, który uzyskuje dostęp do takich wykrywalnych adresów URL, nie może faktycznie nic z nim zrobić, chyba że twórca klienta faktycznie eksperymentuje z prezentowanymi zasobami? Wygląda to dokładnie tak samo, jak definiowanie zestawu dostępnych funkcji w podręczniku Dokumentacja, tylko z innego kierunku i faktycznie wymaga więcej pracy dla programisty. Dlaczego to drugie podejście polegające na wstępnym określeniu, co można zrobić w dokumencie zewnętrznym względem rzeczywistych zasobów REST, jest uważane za gorsze?