2017-08-08 12 views
-1

ジャンルに基づいて本の詳細を表示するWeb API 2エンドポイントを呼び出すときに、この問題が発生しました。ジャンルが "Computing、Internet & Digital Media"の場合、ASP.Net Web API 2フレームワークは、値をルートパラメータにバインドできません。 "Computing、Internet & Digital Media"の文字列をエンコードしました。それでも値をバインドしません。以下の画面を参考にしてください。特殊文字を使用してWeb APIエンドポイントにパラメータ値を渡す

どのように我々は、値とジャンルをバインドするためのフレームワークを作ることができます

enter image description here

「」コンピューティング、インターネット&デジタルメディア」

+0

エンコードした後でも、文字 '&'を '&'として '&'を '038'として扱う文字列に変換しています。 渡している間に038を渡す必要があります。 – HEGDE

+0

パラメータは、つまり、ジャンルはコンピューティング、私たちが望むものであるメディアの権利ですが、ここでは方法そのものに流れません。バインド処理中に失敗しています – sameer

+0

ただし、以下のようにweb.configの設定を追加することはお勧めしません。 – sameer

答えて

1

問題は、あなたのURLが通過してエンコードされていない 『&』が含まれていることです。 それはURLパラメータ指定子として「&」を扱う どちらかあなたはASCIIコードにこれを変換したり、怒鳴るよう設定ファイルにこれらの特殊文字を指定することができます。

<system.web> 
<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" /> 
<pages validateRequest="false" /> 
</system.web> 
+0

実際、私たちはすべての特殊文字をエンコードしています。リクエストを送信している間に上記のスクリーンショットが表示されたら、エンコードされたジャンルを渡しています。 – sameer

関連する問題