收藏
回答

发送订阅消息失败 412 Precondition Failed on POST request

https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscribe-message/sendMessage.html

21:28:01.396 [schedule-pool-2] DEBUG c.c.q.s.i.MessageServiceImpl - [sendSubscribeMessages,117] - 发送给微信的请求数据: {"touser":"ogAwK7jaMZ-iorrtV7oPhU_fNzzI","data":{"time2":{"value":"2019-11-02 13:00"},"name5":{"value":"刘医生"},"name1":{"value":"王某"},"thing13":{"value":"张三"},"thing6":{"value":"孕期营养筛查"}},"template_id":"yftiIRkLEGDV5zzgtsUTnEboiQ4nnLVozyX8Qnvmzfw","miniprogram_state":"trial","page":"pages/index/index","lang":"zh_CN"}

21:28:01.539 [schedule-pool-2] ERROR c.c.q.s.i.MessageServiceImpl - [sendSubscribeMessages,136] - 发送订阅消息异常

org.springframework.web.client.HttpClientErrorException: 412 Precondition Failed on POST request for "https://api.weixin.qq.com/cgi-bin/message/subscribe/send": [no body]

at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:136)

at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186)

at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:147)

at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:953)

at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:902)

at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801)

at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:549)

at com.cdms.quartz.service.impl.MessageServiceImpl.sendSubscribeMessages(MessageServiceImpl.java:123)

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2025-07-09

    请求头content-length 不正确就会412。spring boot 3版本以上,某些版本不会计算content-length,测试用例的版本是3.2.6

    错误示例:

    正确示例:

    2025-07-09
    有用 2
    回复
登录 后发表内容