如何使用路由傳遞含"+"符號到Web API 2

Web API 2如何使用路由傳遞"+"符號

我們需要傳遞一個加密過的參數,此加密方法產生有一定機會產出含"+"符號的亂數。"+"符號在網路傳遞過程中會有一些問題,常見的解決辦法是傳遞前後使用Encode與Decode方法來針對特殊符號進行加解密。但在Web API 2比較難處理。

Web API 2與"+"號的邂逅

在預設的Web API 2範本及預設的路由"api/{controller}/{id}"設置下,簡單進行兩個測試:

測試一

以QueryString方式"/api/values?id=1%2b1"進行請求。這裡的%2b是"+"符號Encode的代表號。這個測試可以順利到達Get(string id)方法之內。

我的爛Code重構之路

在《軟體構築美學 pdf p.16 》提到軟體開發中鐵三角的概念。

而作者則提出另一個水平的觀點:

軟體開發的天平
天平左邊放的是(預估的)時程和資源,代表我們希望盡量減少的部分。
天平右邊放的是品質和功能,我們希望這部分愈多愈好。
重點在於天平必須隨時保持平衡,如果要增加一項功能,就必須增加適量的時間和資源來維持平衡。
如果經費不足,你就得做出選擇:要犧牲品質還是功能。