当前位置:   article > 正文

java springboot实现手机短信发送_srping boot cmpp2.0短信网关发送短信代码

srping boot cmpp2.0短信网关发送短信代码

以下是一个使用Spring Boot实现手机短信发送的示例:

  1. 首先添加pom依赖,需要引入阿里云的短信SDK和Spring Boot的web依赖。
  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-sms</artifactId>
  4. <version>1.0.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-web</artifactId>
  9. </dependency>
  1. 编写配置类,配置阿里云短信服务的一些参数。
  1. @Configuration
  2. public class SmsConfig {
  3. @Value("${aliyun.sms.accessKeyId}")
  4. private String accessKeyId;
  5. @Value("${aliyun.sms.accessKeySecret}")
  6. private String accessKeySecret;
  7. @Value("${aliyun.sms.regionId}")
  8. private String regionId;
  9. @Bean
  10. public IAcsClient acsClient() throws ClientException {
  11. IClientProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
  12. DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Sms", "sms.aliyuncs.com");
  13. return new DefaultAcsClient(profile);
  14. }
  15. }
  1. 编写发送短信的Service类。
  1. @Service
  2. public class SmsService {
  3. @Value("${aliyun.sms.templateCode}")
  4. private String templateCode;
  5. @Value("${aliyun.sms.signName}")
  6. private String signName;
  7. @Autowired
  8. private IAcsClient acsClient;
  9. public void sendSms(String phoneNumber, String code) throws ClientException {
  10. SendSmsRequest request = new SendSmsRequest();
  11. request.setPhoneNumbers(phoneNumber); // 手机号码
  12. request.setSignName(signName); // 短信签名
  13. request.setTemplateCode(templateCode); // 短信模板ID
  14. request.setTemplateParam("{\"code\":\"" + code + "\"}"); // 短信模板变量替换JSON串
  15. SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
  16. System.out.println(sendSmsResponse.getMessage());
  17. }
  18. }
  1. 编写Controller类,调用service生成接口发送短信。
  1. @RestController
  2. public class SmsController {
  3. @Autowired
  4. private SmsService smsService;
  5. @PostMapping("/sms/send")
  6. public void sendSms(@RequestParam String phoneNumber, @RequestParam String code) throws ClientException {
  7. smsService.sendSms(phoneNumber, code);
  8. }
  9. }
  1. 在配置文件yml中添加一些参数。
  1. aliyun:
  2. sms:
  3. accessKeyId: <your accessKeyId>
  4. accessKeySecret: <your accessKeySecret>
  5. regionId: cn-hangzhou
  6. templateCode: <your templateCode>
  7. signName: <your signName>
启动应用程序,访问/sms/send 接口即可发送短信。注意:在实际使用中,需要替换掉<your accessKeyId>、<your accessKeySecret>、<your templateCode>和<your signName>等参数。
 希望以上可以帮助到您,如果可以的话可以点个关注哟。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/340101
推荐阅读
相关标签
  

闽ICP备14008679号