SpringBoot项目之怎么实现短信发送接口
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇文章主要讲解了"SpringBoot项目之怎么实现短信发送接口",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot项目之怎么实现短信
千家信息网最后更新 2024年11月24日SpringBoot项目之怎么实现短信发送接口一. 短信接口实现
webservice方式实现(IDEA)
这篇文章主要讲解了"SpringBoot项目之怎么实现短信发送接口",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot项目之怎么实现短信发送接口"吧!
一. 短信接口实现
描述:请求第三方短信接口平台(而第三方短信平台的接口请求是webservice方式实现的),此时我们要测试接口是否通,要用的工具SoapUI测试工具, 不能用PostMan,即使用post组装完参数请求该短信平台接口也不会通的(请求之前要ping通IP,只有在同一网段才可请求.或者使用VPN远程连接也可请求),接口通了之后.开始裸代码.代码使用IDEA工具去完成 , 实现逻辑根据需求而定.
首先导入两个依赖
commons-logging commons-logging 1.2 commons-discovery commons-discovery 0.2
webservice方式实现(IDEA)
①创建一个新的包,鼠标点击此包
②找到generate点击
③会出现以下界面,这里要注意 WSDL URL 地址要改为(短信平台请求接口地址,后边要加问号和wsdl ) 并也要更改Apache Axis 为 Glassfish /JAX-WS
④更改后出现此界面,点击OK后 , 会在新创建的包下出现idea自动创建的文件 .
⑤此时 把.class文件删除就好了,留下此三个文件(注意:SMSNewAllService类可以理解为打通webservice接口的实现类)
⑥业务实现及调用
package com.enn.claim.config.sms;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;/** * 获取配置文件中: 发送短信平台地址/账号/密码/短信类型/费用部门等 参数 */@Component@ConfigurationProperties(prefix = "send-messages")public class SmsProperties { private String address; private String userName; private String passWord; private String smsType; private String feeDept; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return passWord; } public void setPassword(String password) { this.passWord = password; } public String getSmsType() { return smsType; } public void setSmsType(String smsType) { this.smsType = smsType; } public String getFeeDept() { return feeDept; } public void setFeeDept(String feeDept) { this.feeDept = feeDept; } @Override public String toString() { return "SmsProperties{" + "address='" + address + '\'' + ", userName='" + userName + '\'' + ", passWord='" + passWord + '\'' + ", smsType='" + smsType + '\'' + ", feeDept='" + feeDept + '\'' + '}'; }}
/** * 发送短信 * @param sendMessageVo * @return */ @Override public SendSmsResult sendMessage(SendSmsVo sendMessageVo) { // 0.参数校验 sendMessageVo = this.validParams(sendMessageVo); // 1.创建返回结果集 SendSmsResult smsResult = new SendSmsResult(); try { //2.拼装发送手机号码 String mobiles = ""; for (int i = 0; i < sendMessageVo.getMobile().size(); i++) { if (i == 0) { mobiles = sendMessageVo.getMobile().get(i); } else { mobiles = mobiles + "," + sendMessageVo.getMobile().get(i); } } //3.发送短信 log.info("开始请求发送短信>>>>>>>>>>>>>>>>>>"+"开始发送短信"); SMSNewAllService service = new SMSNewAllService(); ISMSNewAll ismsNewAll = service.getISMSNewAllPort(); String resultSend = ismsNewAll.sendSMSWithExt(smsProperties.getUserName(), smsProperties.getPassword(), mobiles, sendMessageVo.getSmsBody(), smsProperties.getSmsType(), sendMessageVo.getReplyFlag(), smsProperties.getFeeDept(), sendMessageVo.getAllowStartTime(), sendMessageVo.getAllowEndTime(), sendMessageVo.getDeadLineTime(), sendMessageVo.getAppointTime(), sendMessageVo.getArea(), sendMessageVo.getExtCode()); log.info("请求发送短信返回值>>>>>>>>>>>>>>>>>>{}: "+resultSend); //4.判断返回结果 if (ObjectUtils.isEmpty(resultSend)) { return SmsResultUtil.error("请求发送短信失败,短信服务商无响应!"); } //5.处理返回信息 JSONObject jsonObject = JSONObject.parseObject(resultSend); String errorCode = jsonObject.get("errorCode").toString(); String status = jsonObject.get("status").toString(); if ("0".equals(errorCode) && "ok".equals(status)) { String msgInfo = jsonObject.getString("msgInfo"); smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.OK, SmsConstants.MessageCode.SUCCESS_CODE, SmsConstants.MessageMsg.SUCCESS_MSG, msgInfo); return smsResult; } else { String errorMsg = jsonObject.getString("errorMsg"); smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.ERROR, SmsConstants.MessageCode.FAIL_CODE, "请求发送短信失败,服务商返回错误信息为:" + errorMsg, ""); return smsResult; } }catch (Exception e){ log.info("请求发送短信失败,系统异常{}", e); e.printStackTrace(); return SmsResultUtil.error("请求发送短信失败,系统异常!"); }finally { log.info("发送短信结果{}", JSONObject.toJSONString(smsResult)); } }
⑦yml配置文件配置
感谢各位的阅读,以上就是"SpringBoot项目之怎么实现短信发送接口"的内容了,经过本文的学习后,相信大家对SpringBoot项目之怎么实现短信发送接口这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
短信
接口
平台
文件
短信发送
项目
短信平台
参数
地址
工具
结果
学习
配置
代码
信息
内容
方式
服务商
界面
第三方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
先锋云网盘中的服务器是什么
山东时代网络技术标准
网络安全设备安装调试规程
vb数据库excel教程
数据库训练视频
php 更新数据库
海南综合软件开发预算
数据库怎么添加脚本文件
湖南软件开发应用
思辰网络技术服务
软件开发外包朝鲜
905s3g可以做软件开发吗
战舰无法连接服务器失败
网络安全法第十七条
web服务器创建视频
局网络安全责任制实施办法
程序软件开发小组结构
建立手术质量管理的数据库
数据库数据类型数字的长度
百兆物理服务器多少钱
网络安全防线全民参与
通信网络技术属于什么专业
网络技术实验报告
手机端数据库
数据库专业技术岗位职责
贵州正规软件开发多少钱
省考网络安全与执法
浪潮英政服务器CS5420H
软件开发 运营合同范本
数据库中的su是什么意思