java聚合数据短信传参的两种方式

聚合数据传参有两种方式如下图,二选一即可

在springboot项目中的实现

示例一:GET请求+tpl_value传参

@GetMapping("/sms")
    public void send() throws UnsupportedEncodingException {

        String key = "xxxxxxxxxxxxxx"; // 改成自己的key
        String tpl_id = "xxxxxx"; // 改成自己的模板id
        String url = "http://v.juhe.cn/sms/send?mobile=%s&tpl_id=%s&tpl_value=%s&key=%s";
        //假设模板里有3个参数,A,B,C
        String var = "#A#=%s&#B#=%s&#C#=%s";
        var = String.format(var, ”A“, ”B“, ”C“);
        try {
            // 传入电话等参数
            url = String.format(url, ”138xxxxxxxx“, tpl_id, URLEncoder.encode(var, "utf-8"), key);
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }
        String res = HttpClientUtils.doGet(url); //发送GET请求
        System.out.println(res);
        try {
            JSONObject jsonObject = JSONObject.fromObject(res);
            int error_code = jsonObject.getInt("error_code");
            if (error_code == 0) {
                System.out.println("调用接口成功");
                JSONObject result = jsonObject.getJSONObject("result");
                String sid = result.getString("sid");
                int fee = result.getInt("fee");
                System.out.println("本次发送的唯一标示:" + sid);
                System.out.println("本次发送消耗的次数:" + fee);
            } else {
                System.out.println("调用接口失败:" + jsonObject.getString("reason"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

示例二:POST请求+vars传参

【注意】vars需要先将json类型的字符串用URLEncoder编码,再加入post请求的参数里

@PostMapping("/sms")
    public void sendPost() throws UnsupportedEncodingException {

        String key = "xxxxxxxx"; //TODO 换成自己的key
        String url = "http://v.juhe.cn/sms/send";
        String tpl_id = "xxxxxx"; //TODO 换成自己的模板id
        String param = "mobile=%s&tpl_id=%s&vars=%s&key=%s";

	// 假设模板里有3个参数,A,B,C
        Map<String, String> var = new HashMap<>();
        var.put("A", ”A“);
        var.put("B", ”B“);
        var.put("C",”C“);
        String json = JSONArray.toJSONString(var);
        param = String.format(param, "138xxxxxxxx",tpl_id,URLEncoder.encode(json,"utf-8"),key); // var一定要编码!!

        String res = HttpClientUtils.doPost(url, param); // 发送带param参数的Post请求

        System.out.println(res);
        try {
            JSONObject jsonObject = JSONObject.fromObject(res);
            int error_code = jsonObject.getInt("error_code");
            if (error_code == 0) {
                System.out.println("调用接口成功");
                JSONObject result = jsonObject.getJSONObject("result");
                String sid = result.getString("sid");
                int fee = result.getInt("fee");
                System.out.println("本次发送的唯一标示:" + sid);
                System.out.println("本次发送消耗的次数:" + fee);
            } else {
                System.out.println("调用接口失败:" + jsonObject.getString("reason"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

代码里的doGet和doPost这两个方法参考了基于聚合数据的短信API接口(54)调用示例-Java版 - sdk社区 | 技术至上

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MongoDB 聚合框架提供了一种数据处理方式,它能够对集合中的文档进行分组、筛选、投影、排序、限制以及多表关联等操作,从而生成新的文档集合。下面是几种 MongoDB 聚合查询方式的详解: 1. $match 查询 $match 查询通过筛选文档中的字段来过滤数据,类似于 SQL 中的 WHERE 子句。可以使用各种比较运算符、逻辑运算符和正则表达式等条件来实现高级查询。例如,以下代码将返回所有 age 大于等于 18 的文档: ``` db.collection.aggregate([ { $match : { age : { $gte : 18 } } } ]) ``` 2. $group 查询 $group 查询通过将文档分组来聚合数据。可以使用 $sum、$avg、$min、$max 等聚合运算符来计算每个分组的结果。例如,以下代码将返回每个国家的总人口数: ``` db.collection.aggregate([ { $group : { _id : "$country", population: { $sum : "$population" } } } ]) ``` 3. $project 查询 $project 查询用于投影文档中的字段,类似于 SQL 中的 SELECT 子句。可以使用 $addFields、$subtract、$multiply、$divide 等运算符来进行计算或添加新的字段。例如,以下代码将返回包含 name 和 age 字段的文档: ``` db.collection.aggregate([ { $project : { name : 1, age : 1 } } ]) ``` 4. $sort 查询 $sort 查询用于对文档进行排序,类似于 SQL 中的 ORDER BY 子句。可以使用 1 或 -1 来指定升序或降序排列。例如,以下代码将按 age 字段降序排列文档: ``` db.collection.aggregate([ { $sort : { age : -1 } } ]) ``` 以上是 MongoDB 聚合查询的几种方式,它们可以组合使用来实现更复杂的查询。在 Java 中,可以使用 MongoDB 的 Java 驱动程序来进行聚合查询。具体的实现方式可以参考 MongoDB 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_57553211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值