Dạng số nhiều cho REST api là tự nhiên hơn và được sử dụng nhiều hơn, ví dụ: /api/users
hoặc api/users/123
.Trộn REST API số nhiều và số ít cho các tài nguyên khác nhau?
Nhưng đối với một số tài nguyên không phải là ví dụ tự nhiên:
/api/login
- đăng nhập vào chính xác một người dùng/api/profile
- nhận hồ sơ của người dùng đăng nhập
nguồn lực này sẽ không bao giờ được sử dụng để biết thêm một đối tượng/mô hình trong ứng dụng của tôi.
Mặt khác, tôi đọc rằng việc trộn biểu mẫu số nhiều và số ít trong tên tài nguyên không phải là thực hành tốt (http://pages.apigee.com/web-api-design-ebook.html).
Vì vậy, tôi xem xét những việc cần làm:
- sử dụng đơn lẻ cho tất cả số nhiều
- sử dụng cho tất cả (với một số hình thức ngu ngốc như
/api/logins
) - không phù hợp và sử dụng số nhiều cho hầu hết các nguồn tài nguyên mong đợi một số tài nguyên đặc biệt như
/api/login
hoặc/api/profile
luôn được sử dụng với một đối tượng/mô hình.
Cách tiếp cận tốt hơn là gì?
Tôi tuân theo các quy tắc tương tự như bảng cơ sở dữ liệu: số ít. Đó là bảng sản phẩm, không phải bảng sản phẩm. Bạn nhận được một sản phẩm hoặc một bộ sản phẩm. Không cần phải đối phó với sự suy giảm với danh từ của bạn; bạn có một thực thể hoặc một bộ thực thể. –