プログラマーへの道 #145 の補足説明
こんにちは、プログラマー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/58/files
現時点でのソースコードは以下です。
https://github.com/tio-iis/memo-server/tree/725ecd28e75bbc21623343f3532bd55b642e43ed
補足内容
HTTP Method の PUT について
HTTP Method の PUT の説明は以下です。
https://developer.mozilla.org/ja/docs/Web/HTTP/Methods/PUT
PUT は「データがなかったら作成する。データがあったら更新する。」という挙動をするメソッドなので、 データの登録と更新を合わせ持った HTTP Method ということになります。 しかし、メモ帳アプリのメモ更新エンドポイントでは「データがなかったら作成する」という挙動は実装していません。 理由としては、学習動画の都合上こういった実装にしているということになります。 この問題点は今後の動画で改修する予定なので、それはまでは "PUT = 更新に利用する" という認識で良いと思います。
IDの重複バリデーションについて
動画でも言及した通り、悪意のある人が curl で直接メモ帳サーバにアクセスしてくる可能性もあるので、 バリデーションはしっかりと実施する必要があります。