Tôi có một câu hỏi liên quan đến thiết kế url REST. Tôi đã tìm thấy một số bài đăng có liên quan ở đây: Các đại diện RESTful khác nhau của cùng một tài nguyên và tại đây: RESTful url để GET tài nguyên theo các trường khác nhau nhưng các phản hồi không hoàn toàn rõ ràng về các phương pháp hay nhất là gì và tại sao. Đây là một ví dụ.
Tôi có các url REST để đại diện cho tài nguyên "người dùng". Tôi có thể NHẬN người dùng có id hoặc địa chỉ email nhưng cách trình bày URL vẫn giống nhau cho cả hai. Xem qua rất nhiều blog và sách, tôi thấy rằng mọi người đã và đang làm điều này theo nhiều cách khác nhau. Ví dụ
đọc thực hành này trong một cuốn sách và ở đâu đó trên stackoverflow (dường như tôi không thể tìm thấy liên kết lại)
GET /users/id={id}
GET /users/email={email}
đọc thực hành này trên nhiều blog
GET /users/{id}
GET /users/email/{email}
Tham số truy vấn thường được sử dụng để lọc kết quả của các tài nguyên được đại diện bởi url, nhưng tôi đã thấy phương pháp này cũng được sử dụng
GET /users?id={id}
GET /users?email={email}
Câu hỏi của tôi là, trong số tất cả các phương pháp này, phương pháp nào sẽ có ý nghĩa nhất đối với các nhà phát triển sử dụng apis và tại sao? Tôi tin rằng không có quy tắc nào được đặt ra khi nói đến thiết kế url REST và quy ước đặt tên, nhưng tôi chỉ muốn biết mình nên thực hiện theo lộ trình nào để giúp các nhà phát triển hiểu rõ hơn về apis.
Tất cả sự trợ giúp được đánh giá cao!