0
我試圖傳遞一組具有反斜槓(「\」)的值。這打破了URL。我提交的URL是https://{mycompany}.attasksandbox.com/attask/api/project?ID=57ba84---1&updates={"description":"ToImplementWorkFront","URL":"T:%5CTechnologyWorkRequests%5C2016%5CTAD160888_Communications"}&apiKey=g--t&method=put
Attask - 在URL中傳遞反斜槓()作爲值
我基本上要值傳遞給URL字段"URL": "T:\TechnologyWorkRequests\2016\TAD160888_Communications"
我明白反斜槓是一個不安全的字符,因此編碼爲%5C以及%255C-但我得到JSON解析錯誤。 我能夠將正斜槓(/)編碼爲%2F,但我無法傳遞「\」字符。任何人都可以幫忙嗎?提前致謝!
丹尼爾 - 我從來沒有使用GET,而是用過PUT按照REST原則。我使用.Net框架,它具有編碼和解碼URL的功能。但問題是,API的設計如何接受這樣的請求?一旦我知道它應該通過的方式,我可以從我的C#代碼中處理它。 – Paalya
如果您使用put,那麼您應該將數據放在請求正文中而不是url中。 如果您使用的點網的WebAPI應該聲明如下: '[HttpPut] 公開結果更新([FromBody]的UpdateData數據)' 反斜槓不影響,只要是怎麼JSON數據分析爲您不要當你編碼數據時並不關心它。在C#中:'var data = JsonConverter.Serialize(updateData);'然後你把它放在不放在URL中。 我有一個建議,如果你正在編寫寧靜的API,你應該看看Swagger工具。這非常有用。 –
丹尼爾 - 感謝您的意見,但我的問題更專用於attask API。我正在使用webclient從.Net應用程序使用API,這在這種情況下是微不足道的。首先,我應該瞭解API如何設計爲接受「\」字符作爲值。一旦我有了這些信息,我就可以以所需的格式傳遞請求。我正在尋找特定於attask API的答案。 – Paalya