Mam usługi wideo REST obsługujące serwery wideo w sieci.REST: uzyskiwanie dostępu do członków kolekcji za pomocą wielu identyfikatorów
Każdy serwer wideo można zidentyfikować na kilka sposobów: numerem seryjnym, według nazwy lub numerem maszyny.
Na powrocie zbiór wszystkich serwerach dostępnych w mojej sieci, rzeczy są bardzo proste: Mam zdefiniowane następującą trasę:
[Route("/servers", "GET")]
oraz następujące klasy żądanie:
public class ServerCollection : IReturn<List<ServerDto>>
{
...
}
Teraz chciałbym zwrócić określony serwer z mojej kolekcji, identyfikując go numerem seryjnym, nazwą komputera lub numerem maszyny.
Za to, że zostały zdefiniowane następujących trasach:
[Route("/servers/{SerialNumber}", "GET")]
[Route("/servers/machinenumbers/{MachineNumber}", "GET")]
[Route("/servers/machinenames/{MachineName}", "GET")]
i następujące klasy żądanie:
public class Server : IReturn<ServerDto>
{
public uint SerialNumber { get; set; }
public uint MachineNumber { get; set; }
public string MachineName { get; set; }
}
Tak, można uzyskać dostęp do mojej kolekcji serwera poprzez:
GET /servers
i uzyskaj określony serwer, używając:
GET /servers/3
GET /servers/machinenumbers/42
GET /servers/machinenames/supercalifragilisticexpialidocious
Czy to właściwy sposób postępowania? Mam wrażenie, że nie jest to bardzo restrykcyjne . Czy powinienem traktować to jako wyszukiwanie w mojej kolekcji, zamiast korzystać z "sztucznych" zasobów ?