Bez odejścia od paradygmatu RESTful, w jaki sposób mogłeś modelować walidację obiektów w sposób RESTOWNOWY? Najlepiej wyjaśnić teoretyczny przypadek użycia, który wymyśliłem ...Jak powinienem zaprojektować RESTful URL do sprawdzania poprawności obiektu?
Wyobraź sobie, że masz system z bardzo cienką warstwą sieciową, która wykonuje połączenia z usługami REST typu back-end. Powiedzmy, że użytkownik odwiedził formularz rejestracyjny i przesłał go, warstwa internetowa wyśle niepotwierdzone dane bezpośrednio do usługi zaplecza, a jeśli usługa odpowie błędami sprawdzania poprawności w formacie JSON, mogą one zostać odesłane do użytkownika jako HTML.
Wyobraźmy sobie jednak, że chcemy zachować zachowanie AJAX w formularzu. Na przykład, użytkownik wprowadza swój adres e-mail i chcemy sprawdzić poprawność za pomocą AJAX, wysyłając błąd do użytkownika, jeśli jego adres e-mail jest już zarejestrowany.
Czy byłoby sensowne wdrożenie pojedynczego połączenia w celu potwierdzenia tylko adresu e-mail, czy też cały obiekt mógł zostać wysłany i zweryfikowany w usłudze zaplecza? Jeśli to drugie, jaki adres URL mógłbyś użyć tylko do sprawdzenia poprawności obiektu, zamiast go faktycznie utworzyć?
Myślałem bardziej o wywołaniu REST do usługi zaplecza. Wyobraź sobie, że połączenie do zarejestrowania użytkownika było POST do/użytkowników, jak mógłbym zasadniczo wykonać to samo połączenie, ale tylko po to, aby potwierdzić? – DrewEaster
Czytanie tego: http://restfulobjects.files.wordpress.com/2011/11/restful-objects-spec-052.pdf. Mówi o wysłaniu parametru zapytania "x-ro-validate-only = true", aby polecić serwerowi tylko walidację i nie mutować. – DrewEaster
Użyłbym powyższego hierarchicznego adresu URL, ponieważ zasób "emailvalidator" jest częścią zasobu "użytkownicy". Z logicznego punktu widzenia "użytkownicy" to kontener do przechowywania danych użytkownika, który również zatwierdza nowe dane przed ich wprowadzeniem. Również z logicznego punktu widzenia obiekt "emailvalidator" jest częścią tego procesu weryfikacji, specjalną częścią, która może być wywołana bezpośrednio, z wykorzystaniem własnego adresu URL. (Zobacz pytanie dotyczące hierarchicznego projektowania adresów URL: http://stackoverflow.com/questions/7833548/hierarchical-restful-url-design) – kol