0
クエリー文字列でアンパサンドでWeb APIアクションにアクセスするにはどうすればよいですか?クエリー文字列のアンパサンドでWeb Apiアクションに到達する
これは動作します:
http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123
これはしません:
http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123
エラーメッセージは次のとおりです。
{
"message": "No HTTP resource was found that matches the request URI 'http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123'.",
"messageDetail": "No action was found on the controller 'MyController' that matches the request."
}
私は、Web APIは、自動的にクエリ文字列パラメータをデコードするが、apperentlyそれだろうと思いましたdoes not ...
これは明らかです。ポイントはどのようにアンパサンドで動作させることができるのですか? URLはXMLファイルに入っているので、私はそれをエスケープする必要があります。 – iappwebdev
HTTP仕様では、このように送信して2つのクエリ文字列変数として解釈させることはできません。あなたのオプションは、1)送信する前にそれをエスケープするか、または2)あなたのAPIが単に「ユーザ」を受け入れるようにして、それが到着したらC#で解析することです。 #2はハッキーに見えます - #1はもっと理にかなっています。 APIを呼び出すコードでどの言語を使用しているのかわからないので、どのようにしてそれをエスケープするかを知らせる方法はわかりません。 – grayimp
[OK]を、私は#1と一緒に行くよ、ありがとう! – iappwebdev