核心内容摘要
搞机time:不收钱,不套路,只为你的极致玩机体验!
今日完成乘客用户中心服务验证码发送首先我们需要开发用户注册和登录功能其中重点是乘客发送验证码以下是发送验证码的时序图REST ful 风格在设计rest fuk 风格的时候我们需要考虑以下的事情协议httphttps域名 (www.xxx.com/aoi/coursesapi.xxx.com/courses)路径版本v1v2等动作postputpatch, delete, getnacos下载和配置下载地址https://github.com/alibaba/nacos/releases/tag/
2.
3添加maven依赖!-- nacos-- dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId version
2
1/version /dependency dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId version
2
1/version /dependency# 启动Nacos Server: 定位到bin目录然后执行启动命令 ## cmd窗口 startup.cmd -m standalone ## powershell窗口 .\startup.cmd -m standalone 这将以单机模式启动Nacos服务器。
获取随机验证码RestController public class NumberCodeController { GetMapping(/numberCode/{size}) public String numberCode(PathVariable(size) int size) { System.out.println(生成验证码验证码长度 size); JSONObject result new JSONObject(); result.put(code,
; result.put(message, success); JSONObject data new JSONObject(); //获取随机数 String number 0123456789; StringBuilder numberCode new StringBuilder(); for (int i 0; i size; i) { int index (int) (Math.random() * number.length()); char c number.charAt(index); numberCode.append(c); } System.out.println(numberCode.toString()); data.put(numberCode, numberCode); result.put(data, data); return result.toString(); } }统一返回类型public enum CommonStatusEnum { SUCCESS(1, success), FAIL(0, fail); Getter private int code; Getter private String value; private CommonStatusEnum(int code, String value) { this.code code; this.value value; } }Data Accessors(chain true) public class ResponseResultT { private int code; private String message; private T data; /** * 成功返回结果 */ public static T ResponseResultT success(T data) { return new ResponseResultT().setCode(CommonStatusEnum.SUCCESS.getCode()) .setMessage(CommonStatusEnum.SUCCESS.getValue()) .setData(data); } /** * 失败返回结果 */ public static T ResponseResultT fail(int code , String message) { return new ResponseResultT().setCode(code) .setMessage(message); } /** * 失败返回结果,自定义失败 */ public static T ResponseResultT fail(int code, String message,T data) { return new ResponseResultT().setCode(code) .setMessage(message) .setData(data); } /** * 失败统一失败 */ public static T ResponseResultT fail(T data) { return new ResponseResultT().setData(data); } }改造后的为RestController public class NumberCodeController { GetMapping(/numberCode/{size}) public ResponseResult numberCode(PathVariable(size) int size) { System.out.println(生成验证码验证码长度 size); //获取随机数 String number 0123456789; StringBuilder numberCode new StringBuilder(); for (int i 0; i size; i) { int index (int) (Math.random() * number.length()); char c number.charAt(index); numberCode.append(c); } //定义返回值 NumberCodeResponse numberCodeResponse new NumberCodeResponse(); numberCodeResponse.setNumberCode(Integer.parseInt(numberCode.toString())); return ResponseResult.success(numberCodeResponse); } }api-passenger和service-verificationCode之间的调用dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-loadbalancer/artifactId /dependencyFeignClient(service-verificationcode) public interface ServiceVerificationCodeClient { GetMapping(/numberCode/{size}) ResponseResultNumberCodeResponse numberCode(PathVariable(size) int size); }验证码redis使用maven依赖!--redis使用-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-redis/artifactId /dependencyyml编写server: port: 8081 spring: cloud: nacos: discovery: server-addr:
127.
0.
1:8848 application: name: api-passenger redis: host:
127.
0.