關於獲取微信小程序碼的“47001”錯誤碼的坑

最近在項目組用Java寫了一條獲取微信小程序碼的api,根據微信的接口文檔進行一步一步的操作,可就是按照微信的接口文檔一步一步來,微信給我返回的結果一直都是47001.

{

    "errcode":47001,
    "errmsg":"data format error"

}

網上查閱了很多文檔,無非圈出的錯誤就是以下幾點:

  1. 請求參數必須是json格式
  2. access_token要拼接到url後面,不要放在請求參數體內
  3. 微信接口要求的請求參數名稱拼寫錯誤
  4. 沒按接口要求去傳遞請求參數

對於這些錯誤,不能叫坑,因爲接口文檔已經明確給你講解了,出這些錯誤代表你壓根就沒仔細看文檔。

我犯的錯誤也是老低級了,我在後臺將請求參數封裝成了一個javaBean:

public class QRCodeRequest {
	
	private String scene;
	private String page;
	private int width;
	private boolean auto_color;
	private Object line_color;
	private boolean is_hyaline;
	

}

然後用PostMan是用這樣的請求參數去call的:

{
	"scene":"wqewqewq",
	"line_color":{"r":"100","g":"000","b":"000"}
	
}

結果就是一直報47001的錯誤,我反覆看了很多次代碼,沒有找到問題。結果,就是代碼問題。

雖然前臺只傳遞了兩個參數進來,但是後臺用javaBean接收時,將所有屬性全部作爲請求參數了,前臺沒傳的參數後臺全部取默認值了。我不知道爲什麼微信的後臺沒有去處理這些無用參數,因爲某些值它都是有默認值的:

所以 就是:要什麼參數就提供什麼參數,(scene參數必須傳),或者後臺做個判斷!

就這麼問題,浪費了半天的感情,唉!

越努力,越幸運 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章