私の個人的な実装アイデアは2つです daoレイヤーで行う最初の方法は次のようになります。 このように、サービスがセッションを通じて操作ユーザーのIDを取得した後、データベースを操作するときに作成者IDを追加します。 dao 層でそれをフロントエンドに渡すインターフェースは、記事 ID をバックエンドに渡すことです。dao 層でそれを行う 2 番目の方法は、サービス層で記事 ID に対応する著者 ID を取得することです。操作ユーザーIDと著者IDが一致するかどうかを判断し、一致しない場合は、フロントエンドインターフェースはエラーを返します 。
私の個人的な実装アイデアは2つです
あなたのコメントに注意を払っていませんでしたdaoレイヤーで行う最初の方法は次のようになります。 このように、サービスがセッションを通じて操作ユーザーのIDを取得した後、データベースを操作するときに作成者IDを追加します。 dao 層でそれをフロントエンドに渡すインターフェースは、記事 ID をバックエンドに渡すことです。dao 層でそれを行う 2 番目の方法は、サービス層で記事 ID に対応する著者 ID を取得することです。操作ユーザーIDと著者IDが一致するかどうかを判断し、一致しない場合は、フロントエンドインターフェースはエラーを返します
。
そこで、私の考えをもう一度説明させてください。私はあなたが言った方法が良いと思います。 まず、Dao 層はデータベースの操作に重点を置いています。 2 番目のメソッドは、判定ロジックを書き換えるのに便利ですが、同時に、誤った操作を示すプロンプトを返すこともできます。 Dao レイヤーでは、最初にフェッチし、次に判断し、次に削除操作を返すことができる場合は、削除する方法と似ています。操作したデータの数が少ない場合は、2 番目の方法を選択することもできます。操作したデータが 0 個の場合、その記事は操作したユーザーのものではありませんが、削除後の操作も非常に面倒です。完了しました。この記事はあなたのものではないので、操作することはできません。よく考えると、それは奇妙です
少し個人的な意見ですが、そうであれば、議論を続けても構いません
個人的な感想
ブログが 1 人の作成者に対応する場合、2 番目の方法を直接検討できます。
拡張性が高く実装は論理的に簡単であり、データベースのクエリの数も減らすことができます。 作者以外の管理者もブログシステムを操作できるとシステムが考えている場合は、方法1を検討してくださいこの
、要件の変更や削除の際に便利です。
——ブログシステムをやったことがない人の推測
この操作では、どのようにパラメータを渡しても、それをチェックする必要があります。
問題は単純で、authorId をセッションから取得するか、クエリ文字列から取得するかになります。
長年ブログを書いてきた私の経験に基づいています。人気のブログ プログラムは
两个参数都从query string里面传递
。但是,不是强制的。也就是你只传postId也是可以的。之所以这样做。是为了有更多的参数可以供自定义url
形式で使用されます。