【よくある誤解①】DRF では単⼀リソースを扱う API 以外は作れない 11 • リソースがネストした API • 独⾃アクションを追加した API • リソースに紐付いていない API 作れる! 表2.リソースがネストした API の例 表3.独⾃アクションを追加した API の例 表4.リソースに紐付いていない API の例 (が、詳細については本トークの範囲外)
シリアライザの使いどころ 22 シリアライザは • ⼊⼒データのバリデーション • (モデルオブジェクトの永続化) • 出⼒データの作成 を担当 バリデーションOKの場合 ビュー JSON レスポンス (正常) バリデーションNGの場合 JSON レスポンス (400 エラー) URLディスパッチャ モデルオブジェクトを登録・更新・削除 シリアライザオブジェクトからレスポンスオブジェクトを作成 シリアライザオブジェクトを作成 登録 API 更新・⼀部更新 API 削除 API 取得(詳細) API バリデーションを実⾏ 取得(⼀覧) API pk pk pk クエリ⽂字列 JSON レスポンス (404 エラー) リソースが⾒つからない場合 (pk やクエリ⽂字列を使って)モデルオブジェクトを取得 シリアライザオブジェクトを作成 S M シリアライザ モデル = = S S M S S S M /