2012-02-02 10 views
5

Przykład 1:Należy użyć liczby pojedynczej lub mnogiej formy nazwy folderu w adresie URL

http://www.example.com/image/logo.png 
http://www.example.com/images/logo.png 

Przykład 2:

http://www.example.com/user/johndoe 
http://www.example.com/users/johndoe 

Zwłaszcza jeśli użyć adresu URL jako REST API. (Przykład 2)

Który z nich jest zalecany i dlaczego?

+0

Gramatycznie, wolę liczbę mnogą: Folder będzie zawierał * wiele * tych rzeczy. Nie rozumiem, jak może istnieć * techniczny * powód do preferowania jednej lub innych opcji, więc to pytanie może być lepiej zadane na stronie takiej jak http://english.stackexchange.com/ lub http://ux.stackexchange.com/. –

+0

Jednym ze sposobów myślenia jest to, że folder nie zawiera tylko jednego obrazu, więc ma sens, aby folder był pluralizowany. – abraham

+0

możliwy duplikat [URUCHOMIONE POSTY, czy POST obiektów do liczby pojedynczej lub mnogiej Uri?] (Http://stackoverflow.com/questions/1690267/restful-posts-do-you-post-objects-to-singular -lub-plural-uri) – outis

Odpowiedz

3

Dla usługi REST używam przede wszystkim formy liczby mnogiej do wskazania ścieżki do zasobu. Musisz jednak wziąć również pod uwagę Cacheablility, Frequency of Change i Mutability of the Resource. W moim przypadku kolekcje zasobu dotyczą głównie przypadków, więc użyłem formy liczby mnogiej.

Powodem tego jest to, że na przykład:

http://www.example.com/users/johndoe 

posłuży URI, aby uzyskać johndoe użytkownika, który należy do kolekcji użytkowników.

http://www.example.com/users 

zostanie użyty jako URI uzyskanie wszystkich użytkowników i mogą być łatwo wykorzystane na url zapytań jak:

http://www.example.com/users?limit=5 

tworzenia nowego użytkownika będzie nadal korzystać z tego samego adresu URL, a następnie za pomocą POST & odejście parametry:

http://www.example.com/users 

dla literatury może chcesz sprawdzić książkę oreilly relaksującego Web Services Cookbook

1

Moje osobiste preferencje to używanie innego adresu URL do pojedynczych i wielu zasobów.

http://www.example.com/users powiedzieć, że chcę wszystkie zastosowania. Możesz dodać parametry zapytania, aby filtrować wyniki.

Na odwrotnie http://www.example.com/user/johndoe - wyraźnie stwierdza, że ​​chcę pojedynczego użytkownika, którego id jest johndoe.

Zalety: 1. Nie można prawidłowo ustawić oczekiwań. 2./użytkowników bez wyników można powrócić 201 zamiast 404 3./użytkownik/może zwrócić 401, który jest stan błędu.

Powiązane problemy