ホームページ >バックエンド開発 >C++ >MVC Web API 2リクエストパラメータでドット文字(.)を処理する方法は?

MVC Web API 2リクエストパラメータでドット文字(.)を処理する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-05 07:27:43589ブラウズ

How to Handle Dot Characters (.) in MVC Web API 2 Request Parameters?

MVC Web API 2 リクエスト パラメーターでのドット文字のアドレス指定

MVC Web API 2 では、次のようなリクエスト パラメーターを操作すると便利です。一貫したフォーマットを遵守します。ただし、ピリオド (.) などの特殊文字を含むリクエストを処理する必要がある場合があります。この記事では、リクエスト パラメータにドット文字を含める問題を調査し、実用的な解決策を提供します。

根本的な問題

ユーザーは次の形式のリクエストを許可するつもりでした:

http://somedomain.com/api/people/staff.33311

しかし、これを試みたところ、404 エラーが発生しました。これは、Web API のデフォルトのルーティングが、URL パス内のセグメントをコントローラー名とアクション名として認識し、その後にオプションのパラメーターが続くように設計されているために発生しました。リクエスト URL のドット文字は、アクション名またはクエリ パラメータの一部として解析されるため、あいまいさの原因となります。

提案された解決策

これを解決するにはこの問題を解決するために、ユーザーは問題のリクエスト パラメータが URL パス セグメントの一部ではないことを確認でき、コントローラ名やアクション名と間違われることはありません。これを実現する 1 つの方法は、次のように URL に末尾のスラッシュを追加することです。

http://somedomain.com/api/people/staff.33311/

末尾のスラッシュにより、パラメーターが URL パスの一部ではなくクエリ文字列として扱われるようになります。これにより、Web API がリクエストを正しく解析し、意図したアクションにマッピングできるようになります。

実装に関する考慮事項

サーバーの構成によっては、Web の調整も必要になる場合があります。 .config を使用して URL パスにドットを使用できるようにします。これは、以下に示すように、httpRuntime 要素の "allowDotsInPath" 属性を true に設定することで実現できます。

<system.webServer>
  <httpRuntime allowDotsInPath="true" />
</system.webServer>

このソリューションを実装すると、ユーザーはパラメータにドット文字を含むリクエストを処理できるようになります。一貫性があり、明確なリクエスト形式。

以上がMVC Web API 2リクエストパラメータでドット文字(.)を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。