Tôi có API RESTful trong một dịch vụ web với một số loại tài nguyên như người dùng, bài đăng, v.v. Khi tôi yêu cầu danh sách bài đăng (GET/posts), tôi muốn truy xuất mảng bài đăng chỉ với phần dữ liệu đã giảm cho mỗi bài đăng (tức là chủ đề, tên tác giả). Khi tôi yêu cầu đăng bài cụ thể (GET/posts/42), tôi muốn lấy danh sách đầy đủ các trường đối tượng bài đăng, bao gồm nội dung bài đăng lớn, thông tin bổ sung về số lượt thích, số lượng nhận xét. Tôi cho rằng nó tồn tại nhiều cách để giải quyết vấn đề này. Trong tâm trí của tôi, 3 rõ ràng nhất là:?Cách để chỉ định danh sách trường của tài nguyên trong yêu cầu RESTful API
- Rõ ràng xác định các lĩnh vực Lits trên mọi yêu cầu (/ bài fileds = chủ đề, AUTHOR_NAME và cho /bài viết/42 lĩnh vực = đối tượng, cơ thể, createaAt, AUTHOR_NAME, comments_count, likes_count, v.v ...).
- Chỉ định rõ danh sách trường nếu nó khác với danh sách trường mặc định trường.
- Chỉ định danh sách trường cần được loại trừ (hoặc inlcuded) từ (đến) trường mặc định được đặt nếu các trường mong muốn khác với mặc định.
Tôi phải xây dựng API rõ ràng và hữu ích cho khách hàng của mình. Tôi nên chọn cách nào?
Tôi đồng ý. Nó cung cấp một rào cản thấp để nhập cảnh, vì vậy các nhà phát triển có thể khám phá và có thể dễ dàng nhìn thấy các trường mặc định, nhưng vẫn cung cấp cho sự linh hoạt để yêu cầu chính xác những gì bạn muốn nếu bạn cần. – theon
Tôi cũng có tùy chọn (2), nhưng tôi cho phép 'fields = *' lấy tất cả các trường để truy vấn toàn bộ dễ dàng thực hiện (đặc biệt là nhà phát triển muốn biết hoặc kiểm tra lại xem tập hợp đó là gì). –