一:問題
描述:最近項目中的接口都加了簽名,在同步到支付寶小程序上時,發現有些接口報錯,經過排查,導致報錯的原因是因為傳參順序被支付寶小程序默認排序了,比如:
設置的原始參數:let param = {a:'haha',c:'heihei',b:'lala'
}支付寶接口傳參會排序為:let param = {a:'haha',b:'lala',c:'heihei'
}
這個排序不可逆,如果接口請求和請求參數順序有關系的話,就會導致錯誤的返回結果。
二:如何解決
1:使用唯一的參數名,每個參數分配唯一的參數名。
2:將所有參數封裝到一個請求對象中,將該對象作為唯一參數傳遞給接口。
3:在設置請求參數時就按照順序編寫。
后續更多方法會繼續補充。