2024年该怎么写增删改查

news/2025/1/15 13:28:02/文章来源:https://www.cnblogs.com/guozy123/p/18410682
校验总结:
快速失败校验放最外层 节省内存
xml都加条件标签
然后其他的校验都根据业务以及具体情况来
没有业务的时候要有空指针的校验避免空指针问题
校验的细节见 该如何做参数校验 - 稳健国国王 - 博客园 (cnblogs.com)

魔法值问题
建枚举类

入参问题
post请求put请求必须用 @RequestBody 建po
一个参数的话可以用路径传参
get请求必须用 @RequestParam
delete无所谓好像 应该也要符合post那种
入参日志紧跟着入参
log.debug("修改分组名称入参 updateGroupPo:{}", JSONObject.toJSONString(updateGroupPo));

括号里是后面的东西   po要转成json格式

mapper的建立是依据数据库建立的而不是service


数据库实体类和非实体类的区分以及使用场景不明确


查询之后可以直接用vo去接的数据,非得再建一个中间的dto还放在model层去转换 只有数据库出来的数据需要代码处理的话才需要dto

注释:
代码没注释,只有给前端的api注释,后端看不懂
api注释:controller 

tags = "文件分组", description = "{新建,重命名,移动,删除分组,文件分组列表,下拉列表}"

入参注释

@ApiModel(value = "创建分组入参", description = "移动分组入参")
@ApiModelProperty(value = "分组名称")

出参注释

 

返回值问题
统一返回Response
这意味着Service也得是Response返回给controller   查询的话泛型填vo 示例:

Response<List<DocGroupListVo>>

 具体的业务层里也有好多种返回的方式

比如ok了的那就得返回Response.ok() 

    想带着自己的东西就把返回的东西带进去

报错可以直接Response.error
    也可以直接抛

但想返回对应的报错信息

   
异常的是这种

    throw new SmartException(ResInfoEnum.USER_NOT_EXIST.getSeq(), ResInfoEnum.USER_NOT_EXIST.getMsg(), "用户名为空");

公用的枚举不要乱用
d ()这种一般是代码里And加错了或者有些奇怪的数字打进去了  如何避免 1用where条件标签 2第二个开始用And
未认证这种都是 token 认证的服务没过去
坏请求 一般是入参的值 数量 类型有不对的 链路上来说已经走到我的接口了




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/796134.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次SSH无法远程

故障现象 主机无法使用ssh远程 输入密码之后报错如下# Permission denied (password,keyboard-interactive).原因 看起来好像是远端设置了不允许用户名和密码登录 其实是客户端设置问题 修复或者注释# ChallengeResponseAuthentication no

bluecms搭建和代码审计(SQL)

bluecms搭建 将bluecms的源码文件bluecms放在www目录下,进入bluecms/install/index.php目录安装bluecms填写数据库配置信息和管理员账号信息填写完上述信息后,会自动在bluecms数据库下创建这些文件返回主界面 http://127.0.0.1/bluecms后发现管理员不能从前台登录, 需要从ht…

KubeSphere 社区双周报| 2024.08.30-09.12

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2024.08.30-09.12。 贡献者名单近期重要更新 KubeS…

Appium+python框架搭建

一、Appium-Python-Client ①安装依赖库也就大家说的客户端,这里的客户端指的是我编辑代码的界面,因为代码界面我要引入webdriver所以叫客户端,其实本质是一个依赖库跟selenium差不多 ②安装的命令:pip install Appium-Python-Client(python环境所以安装python包) ③Appi…

2576. 求出最多标记下标

给你一个下标从 0 开始的整数数组 nums 。 一开始,所有下标都没有被标记。你可以执行以下操作任意次: 选择两个 互不相同且未标记 的下标 i 和 j ,满足 2 * nums[i] <= nums[j] ,标记下标 i 和 j 。 请你执行上述操作任意次,返回 nums 中最多可以标记的下标数目。 示例…

**** oracle 数据库-监听故障处理-故障单

**** 数据库-监听故障处理-故障单**** 数据库-监听故障处理故障反馈人张**工单接收时间2024年9月11日 9:10审核/复核人张**/张***处理完毕时间2024年9月11日 9:22报告人柏*报告时间2024年9月11日11:22故障环境IP: 180.5.115.** 数据库版本: 10.2.0.4.0故障现象告警时间: 起…

Spring声明式事务不生效?

背景 本篇博文将会讲一讲Spring中使用@Transactional注解会出现的不生效问题。事务的生效与否,一般不是我们冒烟自测的范围,测试也不会去测,但是一旦上线后,事务出现不生效的情况,就可能引发较大的问题,甚至会带来损失。所以,使用好事务注解是非常重要的,尤其是注意哪些…

UE4(5)逆向学习笔记(二)——寻找GWorld,GName和GUObjectArray

目录0.前言1.准备1.1 下载游戏《死寂(DeathlyStillness)》1.2 下载UE源码2.寻找GWorld3.寻找GName4.寻找GUObjectArray5.开始Dump5.结尾 0.前言 笔记(一)中我们了解了GWorld,GName和GUObjectArray是什么,也知道了想要使用UEDumper要获取到它们的偏移。 这次我们就以游戏《…

一个用于管理多个 Node.js 版本的安装和切换开源工具

大家好,今天给大家分享一个用于管理多个Node.js版本的工具 NVM(Node Version Manager),它允许开发者在同一台机器上安装和使用不同版本的Node.js,解决了版本兼容性问题,为开发者提供了极大的便利。在开发环境中,特别是在处理多个项目时,每个项目可能依赖于不同版本的 N…

2552.统计上升四元组

题目描述: 给你一个长度为 n 下标从 0 开始的整数数组 nums ,它包含 1 到 n 的所有数字,请你返回上升四元组的数目。 如果一个四元组 (i, j, k, l) 满足以下条件,我们称它是上升的: 0 <= i < j < k < l < n 且 nums[i] < nums[k] < nums[j] < num…

屏幕画笔、截图工具

水豚鼠标助手 用于做屏幕指导比较方便,鼠标换肤,屏幕画笔 https://shuitunapp.com/?from=txc //官网下载pixpin下载地址 这是一款好用的屏幕截图,贴图,gif制作 小工具 https://pixpinapp.com/

屏幕画笔和鼠标点击工具

https://shuitunapp.com/?from=txc //官网下载