Ostatnio bardzo się starałam myśleć tak RESTfully, jak to tylko możliwe, a mnie to utrudniają nieoczywiste trasy.Restrukturyzacja sposobu sprawdzania dostępności nazw użytkowników, wiadomości e-mail itd.
W tym konkretnym przypadku, jestem ciekawy RESTful sposób, aby sprawdzić nazwę użytkownika i dostępność e-mail dla użytkownika, lub cokolwiek innego, który ma wyjątkowość.
Mój gut mówi mi, że chciałbym, aby wykonać GET
na /users/email
lub /users/username/
każdej z wymaganych param, albo coś wzdłuż linii GET /users/search/
z opcjonalnymi params z email
i username
. Jeśli otrzymasz numer 200
, wówczas username
lub email
jest niedostępny; jeśli otrzymasz numer 404
, jest on dostępny.
Wolę pierwszą opcję, ponieważ jest bardziej jednoznaczna, ale nie jest tak, jakbym przeczytał tezę Roya Fieldinga, żeby wiedzieć wystarczająco dobrze, co robić.
Jaka jest tutaj najlepsza metoda?
Zmieniłem je, ponieważ jeśli zasób istnieje, jest niedostępny. Jeśli nie istnieje, jest dostępny. –
Przepraszam (zmieni moją odpowiedź) ... Nie "przeczytałem" w ten sposób, masz na myśli, że zwraca "200", jeśli nazwa użytkownika jest dostępna ... Rozumiem, ale jest to trochę mylące w zależności od semantyki zasób GET. Może powinieneś rozważyć obsłużenie tego w kliencie, tj. W kliencie, którego sprawdzisz, jeśli zasób jest niedostępny, możesz go utworzyć (nazwa użytkownika jest dostępna) ... Ale to jest moja interpretacja, myślę, że jest całkiem sporo pokój do interpretacji :) – emgsilva