Django REST frameworkでアプリケーション開発 ~ Comment API~

こんにちは。KOUKIです。

前回の続きです。本日は、Comment APIを作成します。

記事まとめ

Comment Model作成とテスト

ブログのコメントを作成するため、Comment Modelを作成します。

まずは、テストコードを作成します。

Commentを作成したとき、コメント文字が返されるか確認するテストです。

テストを実行しましょう。

Comment Modelがないため、エラーになりましたね。

Comment Modelを作成しましょう。

マイグレーションを実行しましょう。

テストを実行します。

テストがパスしましたね。

管理画面からCommentを追加できるようにadmin.pyに以下を追加しましょう。

Comment APIテスト

次は、Comment APIテストを作成します。

テストの意味については、次の通りです。

  • #1 -> 未ログインユーザーのアクセスに対して、401エラーを発生させる
  • #2 -> ログイン済みユーザーのアクセスに対して、Commentリストを返す
  • #3 -> ログイン済みのユーザーかつ自分のコメントしか取得できないか確認する

テストを実行します。

CommentSerializerが存在しないため、エラーになりましたね。

CommentSerializerを作成しましょう。

テストを実行します。

「COMMENTS_URL = reverse(‘blog:comment-list’)」にて、エラーがでましたね。urls.pyにパスを登録していないからです。

テストを実行します。

CommentViewSetの設定がされていませんので、エラーになりました。

blogアプリのviews.pyに追加しましょう。

テストを実行します。

Comment作成機能

次は、Comment作成機能を実装します。

まずは、テストコードからです。

有効・無効なパラメータを渡したときのComment Model作成テストです。

テストを実行します。

まだpostに対する処理を実装していないので、当然エラーになりますね。

blogアプリのCommentViewSetを修正しましょう。

テストを実行します。

リファクタリング

少しviews.pyのコードが煩雑になってきたので、リファクタリングします。

テストを実行します。

これで、Comment APIの完成です。

次回

次回は、Blog APIを作成していきましょう。

関連記事

基礎編はこちらです。

参考書籍

コメントを残す