show @ ResourcePicturesController

素材詳細

url

リクエスト

認証素材読者*
権限
methodget
urlパラメータid
POSTデータjson形式*
html
json
jsonp×
png
gif
jpeg

*オープンモードのとき、誰でも可 →RunMode

解説

素材、あるいは素材の情報を得るために使う機能。拡張子が画像フォーマットであれば、画像を返す。それ以外なら行データを返す。

画像はサムネイル化が許可されているなら縮小された画像が返ってくる。禁止されているなら原寸で返ってくる。サムネイルリストを作る場合は縮小サイズを指定して表示する。原寸が欲しいときはresource_pictures/full/とサブディレクトリ指定で取得する。

  • セッションまたは認証トークンからユーザアカウントを特定する。
  • ユーザアカウントから作家を取得する。
  • 作家から絵師を取得する。
  • 素材モデルに単体取得を問い合わせ、その結果を対象素材として取得する。
    • 要求されたidとロールリスト(ユーザと管理者と借手アカウント)を渡す。
  • 取得したデータを返す。

urlパラメータ

id

  • 対象となる素材のid

POSTデータ

auth_token

  • 外部からjsonで要求する場合、認証処置として認証トークンが必要。

戻り値

正常系

  • htmlのとき、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。
  • 画像のとき、ステータスコード200 OKとともに、対象素材モデルに画像のバイナリデータをもらって、それを返す。
  • jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。
    • 出力フォーマットは素材モデルのjson単体出力オプションに従う

参考:ResourcePicturesShowView

例外系

  • ユーザまたは管理者または借手アカウントでサインインしてなかった。(Devise)
    • htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。
    • jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。
    • ただし、オープンモードで起動しているなら、サインインの必要はない。
  • 対象素材が存在しなかった。(ResourcePictureModel)
    • htmlなら、例外404 not_foundを返す
    • jsonなら、例外404 not_foundを返す
  • 対象素材に対する閲覧権限がなかった。(ResourcePictureModel)
    • htmlなら、例外403 forbiddenを返す
    • jsonなら、例外403 forbiddenを返す