我正在设计一个 REST API 并有一个“人”的实体:
GET http://localhost/api/people
返回系统中所有人员的列表
GET http://localhost/api/people/1
返回 id 为 1 的人。
GET http://localhost/api/people?forename=john&surname=smith
返回所有姓名和姓氏相匹配的人,但我还有一个进一步的要求。例如,允许 API 使用者检索名字以“jo”开头的所有人的最干净/最佳实践方式是什么。
我见过一些 API 这样做:
GET http://localhost/api/people?forename=jo~&surname=smith
其中波浪号表示“模糊”匹配。另一方面,我已经看到它以完全不同的标准实现,例如
GET http://localhost/api/people?forename-startswith=jo&surname=smith
考虑到我可能有 -endswith、-contains、-soundslike(对于某种 soundex 匹配),这似乎有点麻烦。
任何人都可以从经验中提出更好的建议,以及任何具有类似功能的精心设计的 REST API 示例。