釘釘小程序開發遇到的bug:
當使用開發工具測試時,取消忽略 httpRequest 域名合法性檢查的選項,http請求的headers 設置的是'Content-Type': 'application/json', 傳送http post 和 get 請求都沒有問題。但是當代碼在真機上運行時,get 請求沒有問題,但是post 請求會出現Unexpected Character encounted while parsing value :D.Path的問題。
原因:
在真機上發送Post請求時,雖然在headers 中標明了 content-type 為 application/json;charset=utf-8 的格式,但是實際上他依然是以
application/x-www-form-urlencoded;charset=utf-8的格式發送請求,並且如果發送的參數中存在中文的話,還會有編碼問題,需要手動對參數進行encode。
我的解決方案:
前端發送Post 請求代碼:

后端接收參數時,使用 string id 來接收所有參數,再deserialize到具體的對象中。
順便強調,若前端的headers中,使用content-type 為 application/json;charset=utf-8 , 若使用,net webapi , 必須在參數中加入[FromBody], 接收的參數必須是一個具體的對象。