想在后端实现发送订阅消息的接口。
传递数据的时候试着传过转换之后的json字符串,也传过jsonObject,但是两个都是47001。
String jsonstr = JSON.toJSONString(subscribeMesssageData);
// JSONObject jsonObj = (JSONObject) JSON.toJSON(subscribeMesssageData);
MultiValueMap uriVaiables = new LinkedMultiValueMap();
uriVaiables.add("access_token", ACCESS_TOKEN);
uriVaiables.add("template_id", TEMPLATE_ID);
uriVaiables.add("page", "personal");
uriVaiables.add("touser", JWTUtils.getStringData(request, "openId"));
uriVaiables.add("data", jsonstr);
uriVaiables.add("miniprogram_state", "developer");
uriVaiables.add("lang", "zh_CN");
看官方文档要求该data类型为String但是说明又好像指的是Object类型...
补:按照格式用平台的测试工具进行接口测试也报错:
json里不传token
data 字段内容json格式如下: {"thing1":{"value":""},"thing3":{"value":""},"date5":{"value":""}}
补充:之前是直接用的自定义的类,存储想转换的data值内的属性字段和值(跪
SubscribeMesssageData subscribeMesssageData = new SubscribeMesssageData(); Task task = taskSevice.selectTask(3); subscribeMesssageData.setCharacter_string5(task.getTaskId().toString()); subscribeMesssageData.setThing10(task.getContent()); subscribeMesssageData.setThing2("订单分类(MMM"); subscribeMesssageData.setThing4("订单状态(KKK"); subscribeMesssageData.setDate11("2023年03月29日"); String jsonstr = JSON.toJSONString(subscribeMesssageData);