私は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 の例を提案できますか。