微信小程序报 47001 - data format error hint

首先分两个重要点

①:请求 url 要携带 access_token (文档并未提醒)
②:要以 raw 方式提交

下面我们以 微信小程序开发工具 和s pring boot 的两个例子进行演示。

1:微信小程序开发工具例子

如果使用微信小程序开发工具,请首先选择 不校验合法域名。

此功能仅限于本地测试,并且在在线发布时仍需要进行验证。 (这仅是为了测试的理解,后台将在下面介绍)

错误请求(仅仅相对于某些特定问题来说;如:47001)

wx.request({url: "https://api.weixin.qq.com/wxa/msg_sec_check",data: {access_token:"XXXXXX"content:"文本审核",},method: 'POST',//请求头header: { 'content-type': 'application/x-www-form-urlencoded' },success: function (res) {console.log(res)},})

正确请求(仅仅相对于某些特定问题来说;如:47001)

wx.request({url: "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=xxxxx",data: {content:"文本审核"},method: 'POST',success: function (res) {console.log(res)},})

仔细对比一下他们两个写法的不同点。

2:Spring boot 例子

在这里,我们使用Spring Boot的RestTemplate测试。

这是 RestTemplate发送请求教程

错误写法(仅仅相对于某些特定问题来说;如:47001)

public SecCheck get_msgSecCheck(String access_token,String content ){String url = "https://api.weixin.qq.com/wxa/msg_sec_check";Map<String, String> paramMap = new HashMap<>();paramMap.put("access_token",content);paramMap.put("content",content);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);System.out.println(httpEntity);ResponseEntity<SecCheck> response = this.restTemplate.postForEntity(url, httpEntity, SecCheck.class);return response.getBody();}

正确写法(仅仅相对于某些特定问题来说;如:47001)

public SecCheck get_msgSecCheck(String access_token,String content ){String url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token="+access_token;Map<String, String> paramMap = new HashMap<>();paramMap.put("content",content);HttpHeaders headers = new HttpHeaders();HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);System.out.println(httpEntity);ResponseEntity<SecCheck> response = this.restTemplate.postForEntity(url, httpEntity, SecCheck.class);return response.getBody();}

3:原因

第一个原因自然是文档 通(sang)俗(xin)易(bing)懂(kuang)

第二个原因是 请求头

我们看一下 post 常用请求 Content-Type 类型

①:application/x-www-form-urlencoded

最常见的 POST 提交数据的方式,表单内的数据将会被转换为键值对方式提交,如 name=anny&age = 20。

②:multipart/form-data

它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

③:raw

可以上传任意格式的文本,可以上传text、json、xml、html等。

或许你需要使用postman生成二维码

微信小程序报 47001 - data format error hint相关推荐

  1. 【小程序】微信小程序报错47001 - data format error hint

    在开发小程序获取手机号的时候 需要拿着code去调用微信的接口,拿到手机号 post请求的时候报错:47001 - data format error hint 解决: 这是因为该微信接口要求post ...

  2. 【微信小程序】NodeJs调用云开发HTTP API错误代码47001 / data format error错误

    问题描述 服务器使用nodejs发送http请求调用云开发api报错47001 //返回结果如下 {errcode: 47001,errmsg: 'data format error hint: [x ...

  3. 【bug】HbuilderX运行到微信小程序 报错

    首先,大前提是代码本身在HbuilderX里运行H5是没问题的,不报错 .然后运行到微信小程序报错了.(注:以下所说小程序代指微信小程序). 我来这里分享一下我报了什么错,怎么解决的和我浅薄的理解. ...

  4. 微信小程序报Cannot read property ‘setData‘ of undefined的错误

    微信小程序报Cannot read property 'setData' of undefined的错误 最近在学习开发微信小程序,记录下项目中遇到的一个报错. 具体报错如下: 这时打印下this发现 ...

  5. 微信小程序报错module “wxParse/wxParse.js“ is not defined

    微信小程序报错module "wxParse/wxParse.js" is not defined 解决 在本地设置把 ES6 转 ES5 勾上就 可以了

  6. 微信小程序报错 errcode: 40029, errmsg: “invalid code 针对狮子鱼

    微信小程序报错 errcode: 40029, errmsg: "invalid code 一般情况是微信小程序appid和服务器后台设置的appid不一致造成的,本案例是狮子鱼后台小程序参 ...

  7. 微信小程序报SyntaxError: Unexpected end of JSON input

    微信小程序报SyntaxError: Unexpected end of JSON input 这个错误是因为在路由传参的时候 微信小程序解析出来没有正确识别的字符 H5端可以正确使用 解决方法 le ...

  8. 微信小程序报错 Error: errCode: -501007 invalid parameters | errMsg: Invalid Key Name: _openid

    错误原因: _openid不能主动设置 错误代码: db.collection('FixedStore').add({data: {fixedAudit: false, //审核状态fixedMerc ...

  9. 微信小程序报错{errMsg:hideLoading:fail:toast can't be found}

    最近在调试微信小程序时,发现有报错问题,虽然没影响使用,但是看着不舒服啊,还是着手解决吧,先看一下报错 从论坛看了看说是最新版本的微信7.0.13测试版会出现,但是还得找找看看是不是这样 我们都知道w ...

  10. 微信小程序报Cannot read property 'setData' of undefined的错误

    最近在学习微信小程序的开发,让我吐槽的是,都9102年了,怎么还是有有时不能复制,有时不能打中文的bug呢,这个时候,你可以Ctrl+shift+w一下,如果还不行,那就得重启了.. 进入正题吧,刚在 ...

最新文章

  1. MVC 之 架构的基本原理及Asp.Net实现MVC
  2. python【蓝桥杯vip练习题库】ALGO-157 阶乘末尾(高精度)
  3. 箱形图适用于哪种数据_盘点 | 十分钟进阶Excel数据可视化
  4. linux 命令行编辑常用快捷键
  5. 巧用Eclipse中用户自定义包(User Libraries)
  6. 基本数据结构之BinarySearchTree
  7. C语言实现组织图kohone/topology算法(附完整源码)
  8. waf可以查看post请求吗_WAF是如何被绕过的?
  9. SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  10. datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
  11. 理解物体检测中的Objectness
  12. java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)
  13. linux 0755,linux audit审计(7-1)--读懂audit日志
  14. spring学习--jdbcTemplate - 增删改
  15. win10安装Visual Studio Code(VSCode)
  16. Java NIO和IO的区别
  17. 网络编程核心概念与模式
  18. android实现弹框动画,android对话框弹出方式动画
  19. TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST
  20. VC2008 NewControl 示例

热门文章

  1. 北京公司买车,都需要什么手续?摇号有什么特殊要求?
  2. Android 车载应用开发与分析(12) - SystemUI (一)
  3. 黑马java idea (据说是完整的)网盘
  4. linux查看文件夹的命令是,linux查看文件夹大小命令是什么
  5. 计算机视觉(三)线性分类器
  6. 模式识别学习笔记——1(线性分类器)
  7. abb机器人伺服电机报闸是什么_ABB机器人伺服电机刹车失灵,抱闸卡死维修
  8. idea 类注释模板
  9. dlib疲劳检测_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测
  10. 微信小程序自定义tabbar