ASP.NETWebAPIルーティングに問題があります。具体的には、空であるか、URI内にスラッシュを含む文字列パラメーターを渡したいと思います。しかし残念ながら、これはルーティングを壊します。
私はすでに適切なルートを設定しています。これは、「fubar」などの通常の文字列がある場合は問題なく一致します。エンコードされた文字列urlを渡そうとしましたが、これは機能しません。どうやら問題は、一部のhttp sysレイヤーがすでに文字列をデコードしていることです。つまり、"fu%2fbar"
到着していませんが、"fo/bar"
別のルートにつながります。
また、空の文字列を渡すと、URIは"api//..."
、2つ/
がマージされ、セグメントが破棄されます。
内部の問題を解決する1つの方法/
は、URIを二重エンコードし、メソッド内でデコードすることです。しかし、これは非常に悪い選択肢のように思われるので、この問題を解決する方法について他の方法を探しています。