患者と医師向けのアプリがあるとします。
患者は、「site.com/api/patients/」で自分の情報にアクセスできる必要があります。
医師も患者に関する情報にアクセスできる必要がありますが、患者とは異なる情報を受け取ることになります。
これを処理する 2 つの方法を想像できます。
api/patients
異なる権限間で分割するロジックを使用
また
api/patients
患者および
api/doctors/patients
医師が患者に関する情報を取得するため
これは比較的問題ないように思えますが、医師と患者の両方が患者にタスクを追加できるとどうなるかを考え始めました。
api/patients/tasks/
患者がタスクを追加するのですが
api/doctors/patients/tasks
、ネストに関してはかなり悪くなります(ルートの深さを制限する方が良いと思います)
api/patients
ユーザーが医師なのか患者なのかを確認したり、リソースをネストしたりするほうがよいのでしょうか? ベスト プラクティスに関するコンセンサスは何ですか (ある場合)?
次のような API エンドポイントがあると便利です。
api/tasks/
api/patients
api/doctors/
これにより、物事がシンプルになり、トークンまたはクエリ文字列を使用してアクセス許可/認証を制御できます。