php エディター Banana は、誰にとってもよくある質問に答えるためにここにあります。POST を使用して同じエンドポイントと異なるクエリを GET に追加すると、一貫性のないエラー メッセージが表示される可能性があります。 Web 開発では、サーバーにデータを配信するために GET と POST が一般的に使用される HTTP リクエスト メソッドです。 GET メソッドはデータを URL に追加し、POST メソッドはデータをリクエスト本文にカプセル化します。 GET リクエストの同じエンドポイントに POST リクエストを追加すると、クエリ パラメータが異なると、一貫性のないエラー メッセージが発生する可能性があります。これは、サーバーがリクエスト メソッドとクエリ パラメータに基づいてリクエストを処理するためで、クエリ パラメータが異なると、サーバーが異なる結果を返す可能性があります。したがって、POST リクエストと GET リクエストを使用するときは、予期しないエラー メッセージが表示されないように、エンドポイントとクエリ パラメーターの一貫性に注意を払う必要があります。
同じルートを異なるメソッドで追加した場合、各メソッドクエリのgetコールのレスポンスが異なりますが、もう一方のメソッドはpostなので影響を受けないはずです。
郵便経由: プレイグラウンド: https://go.dev/play/p/xzoakpehggy
リーリー予想は 404、実際は 405
投稿を削除する場合 プレイグラウンド: https://go.dev/play/p/exif00_wrfw
リーリー結果は404
ですget リクエストの場合、ルーティングと結果は一貫している必要があります。 404-s
これまでにこの問題に遭遇した人がいるかどうか知りたいのですが?
ルーターは、パスとクエリ パラメーターに基づいて一致するものを見つけようとします。クエリ文字列パラメータが要件を満たしていないため、取得ルートは一致しませんでした。
ただし、ルートはこれらのクエリ パラメーターを考慮しないため、このパスはポスト ルートと一致します。次に、リクエスト メソッドを確認すると、ルートと一致しないため、405 メソッドは許可されていません
が返されます (ルートにはハンドラーがありますが、メソッドが異なります)。
同じパスにキャッチオール get ハンドラーを追加することで、目的の動作を得ることができます:
リーリー以上がPOST を使用して同じエンドポイントを GET に追加すると、異なるクエリで一貫性のないエラー メッセージが表示されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。