Tôi đang thiết kế một API REST và có một thực thể cho "dân":Làm thế nào để thiết kế một API REST với các tiêu chí LIKE?
GET http://localhost/api/people
Trả về một danh sách tất cả những người trong hệ thống
GET http://localhost/api/people/1
Trả về người có id 1.
GET http://localhost/api/people?forename=john&surname=smith
Trả về tất cả những người có tên và họ phù hợp nhưng tôi có thêm yêu cầu. Cách thực hành sạch nhất/tốt nhất là cho phép người tiêu dùng API truy xuất tất cả những người có tên bắt đầu bằng "jo" chẳng hạn.
Tôi đã nhìn thấy một số API làm như thế này:
GET http://localhost/api/people?forename=jo~&surname=smith
nơi dấu ngã nghĩa là "mờ" trận đấu. Mặt khác, tôi đã thấy nó được triển khai với một tiêu chí hoàn toàn khác, ví dụ:
GET http://localhost/api/people?forename-startswith=jo&surname=smith
có vẻ hơi cồng kềnh khi xem xét tôi có thể có -endswith, -contains, -soundslike (đối với một số loại đối sánh âm thanh).
Bất kỳ ai cũng có thể đề xuất kinh nghiệm hoạt động tốt hơn và cũng có bất kỳ ví dụ nào về các API REST được thiết kế tốt có chức năng tương tự.