最新要闻
- 世界要闻:苹果WWDC来了!iOS 17有三大变化
- 新消息丨葡萄健康栽培与病虫害防控(关于葡萄健康栽培与病虫害防控的简介)
- 每日快看:318川藏线巨石滚落砸烂一轿车:车内人员躲过一劫
- 荣耀90 Pro真机曝光:“星钻银”配色耀眼 灵感来自珠宝王冠-环球快看点
- 马斯克称特斯拉电动皮卡将在今年开始交付 不打算卸任CEO-最新资讯
- 比用毛巾还便宜 不怕有味儿:大牌洗脸巾7.9元100抽狂促
- 美国教授用ChatGPT判定学生论文抄袭:结果尴尬!聪明反被聪明误|今日热门
- 天天快资讯:时隔3年再“发车”,“北斗专列”如何升级?
- 概念动态|机器人新增“比亚迪概念”
- 世界球精选!你会买吗?澳航推“邻座无人”服务 最低仅140元
- 十年果粉换OPPO Find X6 Pro后直呼惊艳:果断把iPhone 14 Pro挂闲鱼卖掉|世界聚看点
- 视讯!拳头性别歧视案尘埃落定 将赔偿每位女性最多15万刀
- 男子为稳坐榜一大哥骗取乙方百万:全部打赏给女主播 被判刑
- 世界报道:巴西貘被饲养员挠痒一脸舒适 网友:长得东拼西凑但依然很萌
- 上海市首届中青年工程师创新创业大赛启动
- 小米发布米家空调巨省电2匹:新一级能效 一年省380度电
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【世界热闻】SpringBoot+MyBatis+MySQL电脑商城项目实战(四)用户注册—控制层
(资料图片)
5 注册-控制层
5.1 创建响应
状态码、状态码描述信息、数据。这部分功能封装到一个类中,将这类作为方法返回值,返回给前端浏览器。
package com.cy.store.util;import java.io.Serializable;/** * Json格式的数据进行响应 */public class JsonResult implements Serializable { //状态码 private Integer state; //描述信息 private String message; //数据类型不确定,声明称泛型 private E data; public JsonResult() { } public JsonResult(Integer state) { this.state = state; } public JsonResult(Throwable e) { this.message = e.getMessage(); } public JsonResult(Integer state, E data) { this.state = state; this.data = data; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public E getData() { return data; } public void setData(E data) { this.data = data; }}
5.2 设计请求
依据当前的业务功能模块进行请求的设计。
请求路径:/users/reg请求参数:User user请求类型:敏感类型用POST,没有用GET响应结果:JsonResult
5.3 处理请求
- 创建一个控制层对应的类UserController类。依赖于业务层的接口。
package com.cy.store.controller;import com.cy.store.entity.User;import com.cy.store.service.IUserService;import com.cy.store.service.ex.InsertException;import com.cy.store.service.ex.UsernameDuplicatedException;import com.cy.store.util.JsonResult;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;// @Controller@RestController //controller+ResponseBody@RequestMapping("users")public class UserController { @Autowired private IUserService userService; @RequestMapping("reg") // @ResponseBody //表示此方法的响应结果以json格式进行数据的相应给到前端,为了防止在所有方法上添加,在类上使用注解 @RestController public JsonResult reg(User user){ // 创建响应结果对象 JsonResult result = new JsonResult<>(); try { userService.reg(user); result.setState(200); result.setMessage("注册成功"); } catch (UsernameDuplicatedException e) { result.setState(400); result.setMessage("用户名被占用"); }catch (InsertException e){ result.setState(500); result.setMessage("注册时产生未知的异常"); } return result; }}
- 启动服务,在浏览器输入访问地址,可以看到成功输出信息再次访问该地址,报用户名占用异常去数据库查看生成的用户名信息
5.4 控制层优化设计
在控制层抽离一个父类,在这个父类中统一的去处理关于异常的相关操作,编写一个BaseController类,统一处理异常。
package com.cy.store.controller;import com.cy.store.service.ex.InsertException;import com.cy.store.service.ex.ServiceException;import com.cy.store.service.ex.UsernameDuplicatedException;import com.cy.store.util.JsonResult;import org.springframework.web.bind.annotation.ExceptionHandler;/** * 控制层类的基类 */public class BaseController { /** * 操作成功的状态 */ public static final int OK = 200; //请求处理方法,这个方法的返回值就是需要传递给前端的数据 //自动将异常对象传递给此方法的参数列表上 //当前项目中产生了异常,会被统一拦截到此方法中,这个方法此时就充当的是请求处理方法,方法的返回值直接给到前端。 @ExceptionHandler(ServiceException.class) //用于统一处理抛出的异常 public JsonResult handleException(Throwable e){ JsonResult result = new JsonResult<>(e); if (e instanceof UsernameDuplicatedException){ result.setState(4000); result.setMessage("用户名已经被占用"); } else if (e instanceof InsertException) { result.setState(5000); result.setMessage("注册时产生未知的异常"); } return result; }}
重新构建了reg()方法
// @Controller@RestController //controller+ResponseBody@RequestMapping("users")public class UserController extends BaseController { @Autowired private IUserService userService; @RequestMapping("reg") // @ResponseBody //表示此方法的响应结果以json格式进行数据的相应给到前端,为了防止在所有方法上添加,在类上使用注解 @RestController public JsonResult reg(User user){ userService.reg(user); return new JsonResult<>(OK); }}
关键词:
-
【世界热闻】SpringBoot+MyBatis+MySQL电脑商城项目实战(四)用户注册—控制层
5注册-控制层5 1创建响应状态码、状态码描述信息、数据。这部分功能封装到一个类中,将这类作为方法返回值
来源: -
自定义一个简单的Task调度器、任务循环调度器、TaskScheduler
前言:自从接触异步(asyncawaitTask)操作后,始终都不明白,这个Task调度的问题。接触Quartz net已经很久
来源: 【世界热闻】SpringBoot+MyBatis+MySQL电脑商城项目实战(四)用户注册—控制层
自定义一个简单的Task调度器、任务循环调度器、TaskScheduler
货币市场日报:5月17日
世界要闻:苹果WWDC来了!iOS 17有三大变化
新消息丨葡萄健康栽培与病虫害防控(关于葡萄健康栽培与病虫害防控的简介)
每日快看:318川藏线巨石滚落砸烂一轿车:车内人员躲过一劫
荣耀90 Pro真机曝光:“星钻银”配色耀眼 灵感来自珠宝王冠-环球快看点
马斯克称特斯拉电动皮卡将在今年开始交付 不打算卸任CEO-最新资讯
比用毛巾还便宜 不怕有味儿:大牌洗脸巾7.9元100抽狂促
美国教授用ChatGPT判定学生论文抄袭:结果尴尬!聪明反被聪明误|今日热门
天天快资讯:时隔3年再“发车”,“北斗专列”如何升级?
【Linux】详解Centos7的下载安装配置
焦点日报:【财经分析】多重因素影响REITs市场表现 短期调整无碍机构长期看多
概念动态|机器人新增“比亚迪概念”
世界球精选!你会买吗?澳航推“邻座无人”服务 最低仅140元
十年果粉换OPPO Find X6 Pro后直呼惊艳:果断把iPhone 14 Pro挂闲鱼卖掉|世界聚看点
视讯!拳头性别歧视案尘埃落定 将赔偿每位女性最多15万刀
男子为稳坐榜一大哥骗取乙方百万:全部打赏给女主播 被判刑
世界报道:巴西貘被饲养员挠痒一脸舒适 网友:长得东拼西凑但依然很萌
上海市首届中青年工程师创新创业大赛启动
债市日报:5月17日
每日机构分析:5月17日 环球焦点
小米发布米家空调巨省电2匹:新一级能效 一年省380度电
【天天速看料】孟羽童接私活被开除 专家称老板不能要求员工没副业
全球微头条丨PC已死?联想不同意!
重新打趴中国厂商 韩国不服输:显示面板要夺回第一|天天时快讯
最后的低价?2TB三星980 Pro最低959到手
斗罗大陆冰凤凰vs火凤凰(斗罗大陆冰蝶舞)
springCloud Alibaba服务的注册与发现之eureka客户端注册-每日快看
最佳软件测试基础入门教程3软件开发生命周期的测试
黄牛为什么能抢走“五月天”的门票?|当前速讯
天天关注:记录--vue3优雅的使用element-plus的dialog
上映首日!《速度与激情10》票房突破8000万-全球看点
消息称58同城开启大裁员:裁撤比例50%以上-全球快讯
过去一年 腾讯员工减少1万人 平均工资又涨了 世界热推荐
国产龙芯3B600八个大小核、自研GPU:性能媲美Zen2、10代酷睿-当前播报
世界微动态丨你看微信视频号么?腾讯:粉丝破万创作者是去年三倍
天天视点!欧洲“核联盟”为欧洲核能发展拟定“路线图”
软件测试精品书籍文档下载
热议:4大特性看Huawei Cloud EulerOS为开发者带来平滑迁移体验
设计软件的二次开发总结(表格)
环球热门:金智科技接待中泰证券等多家机构调研
【时快讯】乌兹别克斯坦官员:乌兹别克斯坦愿与中国展开全方位各领域合作
被要求停服!CyGames《赛马娘》遭专利起诉:国服B站代理-每日速讯
RTX 4060 Ti/RX 7600新卡同时来了!NVIDIA、AMD拼价格:玩家血赚|每日视点
资讯:3年10倍!插电车型翻倍式爆卖 比亚迪独占世界4成
比5G好用10倍!北京首个5.5G实验基站正式开通
开除软件部门全体高管后 要用华为车机软件?大众回应
国家一级保护动物黄嘴白鹭“组团”造访厦门|世界快消息
kasini3000新增:ansible like输出 观焦点
小程序安全架构分析
天天微头条丨Natasha相关辅助类 (六)
SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBean 、@PostCo
DQL语句(一) -----简单select查询
过氧化苯甲酸叔丁酯商品报价动态(2023-05-17)
收评:沪指跌0.21%量能创逾两月新低 军工板块表现活跃
春秋时期青铜器酷似5根天线路由器 用途至今成谜 环球热头条
今日国内油价迎年内最大降幅 下次调整或将持续下跌
世界快资讯丨4年磨一剑 华为麒麟A2芯片来了:消息称已具备量产能力
全球看热讯:不负等待 新款华为MateBook E 二合一笔记本或将开启移动生产力融合时代
奥迪前CEO承认“大众排放门”存欺诈 拿839万元换缓刑
海上航行26天,首单到货!以人民币结算
SRE Google 运维解密读书笔记一:SRE 方法论概述
Python从零到壹丨带你了解图像直方图理论知识和绘制实现
匠心精神--来看一个小迭代的代码实现
《塞尔达传说:王国之泪》卖爆背后是手游行业的悲哀-全球视讯
再见吧!特斯拉强制单踏板模式
全球今亮点!“感染”塞尔达病毒后 我每天只睡三小时
硬派越野车不适合城市?仰望U8云辇-P出手:三级可调、软硬随心
ChatGPT估值已上2000亿 创始人对钱没兴趣:收入只够交保险 当前速看
23中国中药SCP001今日发布发行公告|当前聚焦
全球头条:1美金等于多少人民币元(2023年5月17日)
国内又现被驱赶的5G基站:你敢建?我就敢拆!居民称辐射大有害健康|全球热点评
开除软件部门全体高管后 大众被曝要用华为车机软件|全球微资讯
1TB硬盘只要200元 三星等带头减产闪存 国产存储公司回应:好消息 天天短讯
全球观焦点:企业级项目模板的配置与集成(Vite + Vue3 + TypeScript)
智能家居生态迎来超强辅助 快资讯
当前要闻:沈阳金融商贸开发区聘请十余位顾问委员会特邀专家
四大运营商宣布:我国启动全球首个5G异网漫游试商用
国产武侠游戏巅峰 等了16年的《仙剑4重制版》悬了
OPPO Reno10系列正面颜王:对称双曲面、2.12mm窄下巴 世界快讯
前苹果工程师被指控盗窃自动驾驶技术 为中国汽车公司牟利
ZV-1继承者来了!索尼新款Vlog相机5月23日发布
我国成功发射第五十六颗北斗导航卫星 全球观点
数据结构-环球速递
【世界热闻】提高数据的安全性和可控性,数栈基于 Ranger 实现的 Spark SQL 权限控制实践之路
环球看点!Django authenticate() 函数查找不到与提交的用户名和密码匹配的用户,则会返回 None。
apb uart IP使用说明
微软反驳马斯克:我们并没有控制OpenAI
频繁翻车、流量不再 为何明星代言手机越来越少了?
环球要闻:20年来重大转变 马斯克将花钱为特斯拉打广告
边开边充!瑞典率先打造世界首条永久性充电公路 头条
病人被医生遗忘在磁共振舱近三小时 属重大医疗事故 科普:没辐射
全球新动态:【道德经】五十·出生入死
NineData:高效高质量的 Redis 可视化管理工具|今热点
如何在不改变图片分辨率的情况下增加图片的大小
今日讯!国家发展改革委与标普评级公司召开座谈会 开展我国主权信用评级复评工作
最新70城房价出炉,4月份郑州新房同比增长0.2%
孟羽童图文广告报价至少15万一条 网友称其已赚近300万-世界聚看点
屏幕良心了 Redmi Book 14用上2.8K 120Hz:告别万年FHD 60Hz 当前观察