プログラマーへの道 #144 の補足説明
こんにちは、プログラマーVTuberの衣亥栖ティオです。
この記事はYouTubeに投稿した動画の補足ブログです。
投稿した動画
今回は以下の動画の補足説明をします。
GitHub のURL
私のGitHubは以下です。
https://github.com/tio-iis
Gist のURL
私のGitst(メモ書きみたいなもの)のURLは以下です。
https://gist.github.com/tio-iis
今回の動画で実装したソースコード
今回の実装は以下です。
https://github.com/tio-iis/memo-server/pull/57/files
現時点でのソースコードは以下です。
https://github.com/tio-iis/memo-server/tree/076ce8982afa4e56a5c5987c317e50fb0246eaed
補足内容
メモのタイトルが同じでも更新できるケースについて
メモ帳アプリには「メモのタイトルが重複してはいけない」という仕様があります。
しかし、更新対象のメモのタイトルは同じものを指定することができます。
そのケースをバリデーションで除外しているのが以下のコードです。
https://github.com/tio-iis/memo-server/pull/57/files#diff-2873f79a86c0d8b3335cd7731b0ecf7dd4301eb19a82ef7a1cba7589b5252261R207-R210
更新エンドポイントを新規実装した件について
動画内でも言及していますが、今までは /add_memo というエンドポイントでメモの登録と更新をしていましたが、 今回は更新専用のエンドポイントを実装しています。
更新専用のエンドポイントを実装した理由は以下です。
- 一般的に登録と更新のエンドポイントは分かれている。
- 登録と更新では細かい実装が異なるので、共通化することができない。
- add_memo というエンドポイントで更新もできるというのが分かりづらい。
3つ挙げていますが、実は今回のメモ帳アプリ程度の簡単な仕様であれば、メモの登録と更新を1つのエンドポイントで実装することも可能です。 ただ、業務では分けて実装するのが一般的なので、今回も分けています。