アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < イザユケエンジニャー

REST APIの設計むずかしくない?(素人)

最近、SESとしてWeb系案件探すときに「REST APIが作れる人」っていう条件を時々見かける。

気になるので、趣味のサイトをRESTAPIで実装できないかちょっと考えている。
真面目に勉強しろって話なんだけど、とりあえず見よう見まねで。

参考にしているのはこのへん
REST APIとは? - API設計のポイント
RESTのベストプラクティス | POSTD

GET /users/ でユーザー一覧を取得する。わかる。/users/list/とかでもいいっぽいけど。
GET /users/1/ でID1のユーザーを取得する。まあよかろう。
POST /users/ で新規ユーザー登録。ほう。
PUT /users/1/ でID1のユーザー情報の変更。なるほど。
DELETE /users/1/ でID1のユーザーの削除。せやな。

基本はこんな感じっぽい。
なるほどわかりやすいかな、と思ったけど、もっといろいろ考えてるとちょっと詰まった。

たとえばSNSで、
「ログインしていない人が見るID1さんのプロフィール」と
「ログインしている他人から見るID1さんのプロフィール」と
「ID1さんが自分で見るマイページのプロフィール」と
「ID1さんが自分で見る公開用ページのプロフィール」と
SNSの管理者が見るID1さんのプロフィール」って
必要な情報が違うかもしれないよね…。
欲しいデータを絞り込むとかどうとかじゃなくて、権限によって取得自体できないようにしたいよね…。

それどうするんだ?
GET /users/1/ で全部賄うもんなのか?
ログインしている人からは固有のTokenを送ってもらうとすれば確かに判別自体はできるけど…。
まず GETで一覧と詳細の2機能ある時点でそこそこ気持ち悪くない??
そこに権限によっての細かい制御入れるの???
そもそもサイトの仕様をもっとシンプルにしろよって話なの?????教えてエロい人。