Tôi có một dịch vụ REST xử lý các máy chủ video trên mạng.REST: truy cập các thành viên của một bộ sưu tập qua nhiều id
Mỗi máy chủ video có thể được xác định theo nhiều cách: theo số sê-ri, theo tên hoặc số máy của nó.
Để được trả lại một bộ sưu tập của tất cả các máy chủ có sẵn trên mạng của tôi, mọi thứ là khá đơn giản: Tôi đã xác định con đường sau:
[Route("/servers", "GET")]
và lớp yêu cầu sau đây:
public class ServerCollection : IReturn<List<ServerDto>>
{
...
}
Bây giờ, tôi muốn trả lại một máy chủ cụ thể từ bộ sưu tập của mình, xác định nó bằng số sê-ri của nó, bằng tên máy hoặc số máy của nó.
Để làm như vậy, tôi đã xác định các tuyến đường sau:
[Route("/servers/{SerialNumber}", "GET")]
[Route("/servers/machinenumbers/{MachineNumber}", "GET")]
[Route("/servers/machinenames/{MachineName}", "GET")]
và lớp yêu cầu sau đây:
public class Server : IReturn<ServerDto>
{
public uint SerialNumber { get; set; }
public uint MachineNumber { get; set; }
public string MachineName { get; set; }
}
Vì vậy, tôi có thể truy cập vào bộ sưu tập máy chủ của tôi thông qua:
GET /servers
và nhận một máy chủ cụ thể bằng cách sử dụng:
GET /servers/3
GET /servers/machinenumbers/42
GET /servers/machinenames/supercalifragilisticexpialidocious
Đó có phải là cách phù hợp để tiếp tục không? Tôi có cảm giác rằng đây không phải là rất Nghỉ ngơi. Tôi có nên coi đây là tìm kiếm trong bộ sưu tập của mình thay vì sử dụng tài nguyên "nhân tạo" không?