2016-09-27 20 views
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." 
} 

我認爲網頁API將查詢字符串參數自動解碼,但apperently它不...

回答

1

在查詢字符串中使用&時,實際上是轉義該&符號,以便它作爲該參數的一部分進行讀取。因此,Web API方法實際上只接收一個參數,「用戶」具有「test & pw = abc123」。

+0

這對我來說很明顯。關鍵是我怎樣才能使它與&符合使用?該URL出現在XML文件中,所以我必須將其轉義。 – iappwebdev

+0

HTTP規範不會允許您以這種方式發送它,並將其解釋爲兩個查詢字符串變量。你的選擇是1)在發送之前將它縮小或2)讓你的API只接受「用戶」,然後在C#中解析它。 #2似乎很無禮 - #1會更有意義。由於我不確定在調用API的代碼中使用哪種語言,因此我不知道如何提示如何忽略它。 – grayimp

+0

好吧,我會和#1一起去,謝謝! – iappwebdev