关于获取微信小程序码的“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接收时,将所有属性全部作为请求参数了,前台没传的参数后台全部取默认值了。我不知道为什么微信的后台没有去处理这些无用参数,因为某些值它都是有默认值的:

关于获取微信小程序码的“47001”错误码的坑_第1张图片

所以 就是:要什么参数就提供什么参数,(scene参数必须传),或者后台做个判断!

就这么问题,浪费了半天的感情,唉!

越努力,越幸运 

你可能感兴趣的:(工作积累)