springboot 快速开发的定制补充

增强 SpringBoot 快速开发工具

项目地址:https://gitee.com/sanri/web-ui
优点:这是一个 web 通用配置的组件,即插即用,可用于新项目或私活。是对 SpringBoot 快速开发的一种补充,它内置了大量的配置来简化开发,遵循约定高于配置原则。

它解决的问题:

  • 固定了输入输出格式
  • 对于 Controller 中的返回不用关心包装类型,返回你所需要的类型就可以了,对于 insert 单表操作可以直接返回 void
  • 如果项目中出现业务操作不符合或调用第三方出错,可使用异常或断言抛出,我们将拦截成统一格式返回
  • 自带参数空格过滤功能,还可以定义特殊字符和谐
  • 支持校验器,已经帮你设置好了两个 group
  • 支持大文件分片上传

发现BUG可以提Issue,可以给我发邮件,可以加我QQ,可以进9420技术群讨论.

作者QQ: 2441719087

作者邮箱: [email protected]

9420 技术交流群: 645576465

作者微信:sanri1993-
在这里插入图片描述

项目功能

我新开的一个项目,总结了以往 4 年的开发经验所得,它具有的功能有

  • 固定了输入输出格式

    // 普通输出格式
    @Data
    public class ResponseDto<T> implements Serializable {
        // 0 字符串表示成功,否则失败
        private String code = "0";
        private String message;
        private T data;
    }
    // 分页输出格式,是包裹在普通输出格式中的,PageResponseDto 做为 data 属性
    @Data
    public class PageResponseDto<T> {
        private List<T> rows;
        private Integer total;
    }
    
    // 分页输入格式 
    @Setter
    public class PageParam {
      private String pageNo;
      private String pageSize;
    }
  • 对于 Controller 中的返回不用关心包装类型,返回你所需要的类型就可以了,对于 insert 单表操作可以直接返回 void

    示例一:

    @PostMapping("/insertUser")
    public void insertUser(User user){
        xxxService.insert(user);
    }

    它将会返回这样的数据结构

    {
        "code":"0",
        "message":"ok",
        "data":null
    }

    示例二:

    @GetMapping("/queryUserById")
    public User queryUserById(Integer userId){
        xxxService.queryUserById(userId);
    }

    它将会返回这样的数据结构

    {
        "code":"0",
        "message":"ok",
        "data":{
            "userId":1,
            "username":"9420"
        }
    }

    示例三:

    对于分页数据的处理

    @GetMapping("/queryUserPage")
    public PageResponseDto<User> pageQuery(PageParam pageParam,Map<String,String> queryParams){
        PageHelper.startPage(pageParam.getPageNo(),pageParam.getPageSize());
        Page page = (Page) xxxService.pageQuery(queryParams);
        List result = page.getResult();
        long total = page.getTotal();
        return new PageResponseDto(result,total);
    }

    它将会返回这样的数据结构

    {
        "code":"0",
        "message":"ok",
        "data":{
            "total":100,
            "rows":[{...},{...}]
        }
    }
  • 如果项目中出现业务操作不符合或调用第三方出错,可使用异常抛出,我们将拦截成统一格式返回

    示例一:

    if(业务条件不满足){
        throw BusinessException.create("业务提示信息");
    }

    它将会返回这样的数据结构,code 是随机生成的

    {
        "code":"234234",
        "message":"业务提示信息",
        "data":null
    }

    示例二:

    自定义 code 示例方法一

    if(业务条件不满足){
        throw BusinessException.create("E007","业务提示信息");
    }

    它将会返回这样的数据结构

    {
        "code":"E007",
        "message":"业务提示信息",
        "data":null
    }

    示例三:

    自定义 code 示例方法二

    // 配置异常代码 
    public enum  SystemMessage implements ExceptionCause<BusinessException> {
        SIGN_ERROR(4005,"签名错误,你的签名串为 [%s]"),;
        ResponseDto responseDto = new ResponseDto();
    
        private SystemMessage(int returnCode,String message){
            responseDto.setCode(returnCode+"");
            responseDto.setMessage(message);
        }
    
        public BusinessException exception(Object...args) {
            return BusinessException.create(this,args);
        }
    }

    使用异常

    if(业务条件不满足){
        throw SystemMessage.SIGN_ERROR.exception("签名串");
    }

    它将会返回这样的数据结构

    {
        "code":"4005",
        "message":"签名错误,你的签名串为 [签名串]",
        "data":null
    }
  • 你以为它就这么点能耐吗,它还自带参数空格过滤功能,还可以定义特殊字符和谐

    你只需要注入一个处理器,它就能工作,注入方式如下

    @Bean("paramHandler")
    public Function paramHandler(){
        return param -> param.replace("<","《");
    }
  • 自带了日期转化(输入)功能,可以支持的日期格式有

    final String[] parsePatterns = new String[]{"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss.S"};

    现在是固定这三种格式 ,后面会放开让使用者自己配置

  • 支持校验器,已经帮你设置好了两个 group ,直接使用即可

    public interface Insert {
    }
    public interface Update {
    }

使用说明

引入包或下载 jar 包文件

<dependency>
    <groupId>com.sanri.web</groupId>
    <artifactId>web-ui</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

开启快速开发

@EnableWebUI

一点小推广

创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。

Excel 通用导入导出,支持 Excel 公式
博客地址:https://blog.csdn.net/sanri1993/article/details/100601578
gitee:https://gitee.com/sanri/sanri-excel-poi

使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具
博客地址:https://blog.csdn.net/sanri1993/article/details/98664034
gitee:https://gitee.com/sanri/sanri-tools-maven

相关文章
相关标签/搜索
四肖八码期期准精选资料 武城县| 恭城| 巫山县| 宁安市| 合水县| 防城港市| 柳州市| 永吉县| 波密县| 红安县| 和硕县| 徐闻县| 商河县| 仁布县| 石棉县| 五华县| 桦甸市| 进贤县| 英德市| 贺州市| 星座| 东丽区| 若尔盖县| 玛曲县| 鲁甸县| 哈尔滨市| 伽师县| 那坡县| 常熟市| 阿勒泰市| 安化县| 丹凤县| 绵竹市| 聂荣县| 冕宁县| 东乡县| 汉中市| 西吉县| 五家渠市| 武安市| 温州市| 阜南县| 凤台县| 南通市| 南宁市| 务川| 瓮安县| 东宁县| 安宁市| 溧阳市| 福州市| 金阳县| 眉山市| 菏泽市| 合山市| 孝昌县| 江口县| 罗定市| 三亚市| 临夏市| 舞钢市| 东方市| 碌曲县| 贡嘎县| 息烽县| 武汉市| 洛浦县| 南丰县| 获嘉县| 穆棱市| 长顺县| 太康县| 蒲城县| 财经| 华容县| 黎城县| 分宜县| 桓台县| 长子县| 仁怀市| 肃北| 闻喜县| 读书| 灵璧县| 同德县| 临猗县| 调兵山市| 金川县| 岳西县| 木兰县| 修水县| 肃北| 建湖县| 济阳县| 徐州市| 双江| 宣城市| 左权县| 阳西县| 合江县| 婺源县| 虞城县| 固安县| 平定县| 博兴县| 正宁县| 聂拉木县| 昂仁县| 格尔木市| 珲春市| 黑龙江省| 犍为县| 扶余县| 平舆县| 江油市| 隆尧县| 泽普县| 贡觉县| 栖霞市| 潞西市| 东阿县| 通河县| 皮山县| 汽车| 阿鲁科尔沁旗| 武冈市| 贵定县| 北宁市| 尚志市| 铜山县| 陇川县| 宜宾县| 乌拉特前旗| 通道| 湘潭县| 环江| 改则县| 呼伦贝尔市| 安平县| 花垣县| 蛟河市| 靖远县| 绥芬河市| 介休市| 漳州市| 仁布县| 宁国市| 农安县| 霍林郭勒市| 金乡县| 新闻| 西畴县| 驻马店市| 镇雄县| 临海市| 搜索| 建阳市| 奈曼旗| 肥东县| 新干县| 巧家县| 芦溪县| 团风县| 章丘市| 临朐县| 犍为县| 平舆县| 军事| 六枝特区| 同心县| 偏关县| 昆明市| 易门县| 金乡县| 深州市| 和平县| 万载县| 太谷县| 浦城县| 赣榆县| 长泰县| 南康市| 泰来县| 容城县| 仙居县| 兴山县| 肥西县| 根河市| 佛冈县| 波密县| 广宁县| 固始县| 峨边| 和林格尔县| 应城市| 惠安县| 新邵县| 霍林郭勒市| 商城县| 克东县| 綦江县| 邵阳市| 英吉沙县| 新乡市| 特克斯县| 汉源县| 乌鲁木齐县| 蒙城县| 鄂州市| 千阳县| 凌云县| 苏尼特右旗| 慈利县| 尉犁县| 宁波市| 全南县| 洛阳市| 广灵县| 武鸣县| 伽师县| 浙江省| 平和县| 铜鼓县| 诸暨市| 潜江市| 浦县| 灵璧县| 贵德县| 甘洛县| 海淀区| 阿克苏市| 昌黎县| 银川市| 将乐县| 阿克| 海盐县| 肥城市| 收藏| 上栗县| 南陵县| 弥渡县| 资兴市| 崇文区| 固安县| 会理县| 敦化市| 盖州市| 墨竹工卡县| 泰兴市| 昌图县| 滦平县| 栾川县| 襄垣县| 健康| 瑞昌市| 衡阳县| 黎川县| 锡林浩特市| 报价| 噶尔县| 正定县| 罗山县| 平安县| 普兰店市| 垣曲县| 始兴县| 石屏县| 桓台县| 泾源县| 汉寿县| 梅河口市| 山阳县| 德格县| 周宁县| 张掖市| 宝兴县| 永仁县| 徐水县| 濮阳市| 延川县| 绵竹市| 四川省| 安仁县| 台江县| 绥中县| 双峰县| 遂溪县| 渭源县| 台南市| 高尔夫| 玉龙| 蛟河市| 镇坪县| 准格尔旗| 渭源县| 林周县| 墨江| 当阳市| 盐源县| 黄大仙区| 竹溪县| 屏东县| 齐齐哈尔市| 克什克腾旗| 灌云县| 鞍山市| 门头沟区| 普格县| 永川市| 衡东县| 延庆县| 龙口市| 平湖市| 息烽县| 喀喇| 广水市| 寻乌县| 明光市| 乃东县| 屏东市| 左贡县| 肇州县| 洱源县| 鄢陵县| 百色市| 顺义区| 石泉县| 静宁县| 思南县| 灯塔市| 万荣县| 西藏| 桂林市| 饶河县| 巍山| 平和县| 鄂温| 潍坊市| 高碑店市| 酒泉市| 赤城县| 奈曼旗| 泾源县| 北海市| 班玛县| 青神县| 东源县| 股票| 宁津县| 陆丰市| 惠水县| 淳化县| 宝山区| 乌兰察布市| 义乌市| 斗六市| 合肥市| 蓬莱市| 恩平市| 伽师县| 奉新县| 布拖县| 平和县| 长寿区| 昌都县| 元阳县| 无锡市| 沽源县| 峨山| 石屏县| 永新县| 和平区| 汉源县| 西充县| 共和县| 井陉县| 天祝| 安吉县| 乌拉特后旗| 绥滨县| 财经| 上思县| 长子县| 左云县| 乐业县| 海宁市| 通榆县| 樟树市| 吉木乃县| 凭祥市| 宝山区| 利川市| 崇义县| 石渠县| 梁平县| 额济纳旗| 阿勒泰市| 新平| 集贤县| 舒城县| 钟山县| 高青县| 兴海县| 临夏县| 浮梁县| 定结县| 内黄县| 淮安市| 仪陇县| 通江县| 瑞丽市| 衡阳县| 阿合奇县| 黑水县| 昌黎县| 彭泽县| 合阳县| 隆尧县| 怀集县| 宜川县| 洛隆县| 景德镇市| 富民县| 崇左市| 徐州市| 新野县| 宁武县| 九台市| 万宁市| 康乐县| 苍溪县| 汝州市| 肥城市| 阿鲁科尔沁旗| 恩施市| 沙雅县| 金华市| 农安县| 东阿县| 民勤县| 井陉县| 娄底市| 阿巴嘎旗| 巴彦淖尔市| 从江县| 河曲县| 文安县| 英超| 德兴市| 铁岭县| 航空| 康马县| 新昌县| 习水县| 九台市| 贡觉县| 石楼县| 进贤县| 五寨县| 内乡县| 寻乌县| 双鸭山市| 霍林郭勒市| 龙岩市| 韶山市| 如皋市| 红安县| 都安| 天峨县| 天气| 安乡县| 凤山县| 高碑店市| 宁波市| 房山区| 南开区| 仁怀市| 平山县| 江北区| 盘锦市| 万盛区| 灵寿县| 延吉市| 阿坝| 泾阳县| 刚察县| 麟游县| 百色市| 沾化县| 札达县| 娱乐| 合阳县| 鄄城县| 敦化市| 军事| 贡嘎县| 香港| 宝应县| 公安县| 茌平县| 乐业县| 宜良县| 玉溪市| 上栗县| 东乌| 柳河县| 武安市| 余江县| 镇巴县| 林西县| 德惠市| 微山县| 濉溪县| 常山县| 翁牛特旗| 平阳县| 庄浪县| 禄丰县| 东乡县| 格尔木市| 习水县| 扶余县| 旌德县| 上犹县| 冕宁县| 潮安县| 湘潭县| 郑州市| 东至县| 收藏| 湘西| 保山市| 青铜峡市| 乐清市| 辰溪县| 高邑县| 黔西| 昆山市| 灌云县| 阳原县| 朝阳区| 静宁县| 湟中县| 彭阳县| 张家港市| 平度市| 宾川县| 泊头市| 乐平市| 沐川县| 志丹县| 鲁甸县| 贵港市| 漳平市| 且末县| 长沙县| 安图县| 新营市| 潜山县| 图木舒克市| 改则县| 东辽县| 灌南县| 玉林市| 丹巴县| 冀州市| 阿坝| 乾安县| 仙游县| 积石山| 大新县| 伊金霍洛旗| 江都市| 定边县| 睢宁县| 西和县| 铜山县| 潼关县| 大化| 阜宁县| 虎林市| 新竹市| 西乡县| 利川市| 金寨县| 策勒县| 文山县| 高淳县| 南漳县| 万全县| 黄石市| 西安市| 黄骅市| 壤塘县| 广东省| 南通市| 繁昌县| 新巴尔虎右旗| 湟中县| 曲阜市| 开封市| 汾西县| 盘山县| 通许县| 鲁甸县| 东乌| 三明市| 清丰县| 临沧市| 兴义市| 惠来县| 灯塔市| 密云县| 汝南县| 邯郸市| 盐边县| 牡丹江市| 唐河县| 上饶县| 贵定县| 杂多县| 舒兰市| 安平县| 平顺县| 辉县市| 绥芬河市| 绵竹市| 崇仁县| 黄浦区| 聂荣县| 双城市| 临汾市| 无锡市| 县级市| 靖西县| 峨边| 桐柏县| 西畴县| 田阳县| 铜梁县| 新田县| 阳春市| 寻乌县| 沿河| 油尖旺区| 伊金霍洛旗| 清河县| 新田县| 万全县| 宜章县| 天柱县| 怀柔区| 巴彦县| 芜湖县| 车险| 新兴县| 墨竹工卡县| 黄陵县| 黄龙县| 增城市| 榆树市| 华蓥市| 将乐县| 永善县| 姚安县| 称多县| 望奎县| 神农架林区| 阜康市| 铜陵市| 莱阳市| 泰州市| 德令哈市| 潍坊市| 铁力市| 深圳市| 珠海市| 孟连| 灵宝市| 大英县| 外汇| 大关县| 新宁县| 新干县| 桂林市| 曲周县| 萨嘎县| 贺州市| 新营市| 宁海县| 定安县| 威远县| 聂拉木县| 都江堰市| 云梦县| 岳西县| 温州市| 兰西县| 武义县| 融水| 安西县| 平原县| 滦南县| 渝北区| 宜春市| 马鞍山市| 牡丹江市| 江源县| 大田县| 仙游县| 广饶县| 会东县| 汕头市| 建始县| 临泉县| 卓资县| 公安县| 鄯善县| 资源县| 阳西县| 措美县| 余干县| 海阳市| 岑巩县| 昆明市| 怀来县| 大同县| 阿克| 化州市| 青冈县| 林周县| 巴中市| 长兴县| 正镶白旗| 舒城县| 筠连县| 应用必备| 额尔古纳市| 息烽县| 英吉沙县| 彝良县| 沙雅县| 民乐县| 江永县| 丽水市| 读书| 克东县| 黑水县| 佳木斯市| 栾川县| 安宁市| 芮城县| 西平县| 夏津县| 新巴尔虎左旗| 凌源市| 怀来县| 历史| 铜鼓县| 镇平县| 巴彦县| 体育| 故城县| 柳江县| 萍乡市| 班玛县| 滦平县| 安义县| 红安县| 贵南县| 富锦市| 开鲁县| 涡阳县| 肇庆市| 建昌县| 彩票| 阿拉善盟| 江川县| 从江县| 汕尾市| 镇原县| 城市| 银川市| 舞阳县| 信阳市| 罗田县| 揭阳市| 兴文县| 龙口市| 五大连池市| 繁昌县| 明星| 临武县| 西城区| 永城市| 孟村| 会宁县| 宝丰县| 山阳县| 闵行区| 封丘县| 宁明县| 嘉祥县| 和平县| 临沭县| 阿拉善右旗| 葵青区| 台北市| 永城市| 蚌埠市| 扶风县| 宜春市| 德钦县| 哈巴河县| 柯坪县| 长治市| 土默特右旗| 乐平市| 蚌埠市| 东莞市| 磐安县| 舟曲县| 泸溪县| 泰顺县| 河北区| 炎陵县| 阿克| 于都县| 潮州市| 灵台县| 繁峙县| 奉化市| 郸城县| 松潘县| 锡林浩特市| 雷山县| 荔浦县| 武城县| 始兴县| 徐州市| 长宁县| 武川县| 石嘴山市| 新民市| 吉安县| 玉门市| 宝坻区| 宿迁市| 恩施市| 广水市| 濉溪县| 铁力市| 古交市| 兴业县| 长海县| 沙坪坝区| 吉水县| 永和县| 屯昌县| 瑞安市| 若尔盖县| 广汉市| 三门县| 威海市| 平塘县| 巴里| 马尔康县| 元朗区| 礼泉县| 浦县| 临洮县| 名山县| 德州市| 镇巴县| 阿城市| 惠来县| 织金县| 怀柔区| 平乡县| 松滋市| 黄石市| 洪湖市| 丽水市| 赣榆县| 延安市| 三台县| 邵东县| 巩义市| 峡江县| 分宜县| 阿坝县| 苏尼特左旗| 康平县| 通许县| 丰城市| 囊谦县| 吴忠市| 仁布县| 随州市| 浦城县| 京山县| 余姚市| 牙克石市| 宁武县| 日喀则市| 舟山市| 波密县| 内江市| 青阳县| 砚山县| 冀州市| 赣州市| 孝感市| 郓城县| 申扎县| 肃宁县| 兰坪| 沙坪坝区| 广州市| 清河县| 大悟县| 绥阳县| 体育| 永济市| 昭通市| 武安市| 西平县| 增城市| 汨罗市| 中方县| 淄博市| 罗源县| 通化县| 平罗县| 长沙市| 新沂市| 龙里县| 龙海市| 柳江县| 太湖县| 江西省| 卢氏县| 鹤庆县| 青海省| 福贡县| 密云县| 福海县| 都江堰市| 襄城县| 东阿县| 福建省| 开远市| 饶河县| 吐鲁番市| 偏关县| 乌拉特中旗| 宜城市| 米林县| 南康市| 漳州市| 兰西县| 临安市| 仙居县| 介休市| 定西市| 诏安县| 新乐市| 宜昌市| 阿拉善盟| 天全县| 大兴区| 聊城市| 青海省| 平谷区| 竹山县| 南部县| 伊宁县| 河北区| 翁牛特旗| 乌拉特前旗| 柘荣县| 游戏| 大田县| 元谋县| 安义县| 渭南市| 宁海县| 宣威市| 北宁市| 鄂伦春自治旗| 连州市| 汉阴县| 玛纳斯县| 南通市| 平邑县| 阳新县| 南丰县| 枣强县| 苗栗市| 惠州市| 肇源县| 边坝县| 通州市| 宾阳县| 图片| 皮山县| 安平县| 赤峰市| 迁西县| 库伦旗| 介休市| 大同市| 星座| 汝城县| 鄂尔多斯市| 亚东县| 平定县| 万载县| 石渠县| 塘沽区| http://wap.bo2020strips.fun http://www.bo2020charters.fun http://wap.yqo6j2rl4v.fun http://wap.gz1980indicatec.fun http://wap.bo2020pools.fun http://wap.yqo2j8rl3v.fun http://m.gz1980catchc.fun http://www.bo2020forzs.fun http://wap.bo2020patterns.fun http://wap.yqo5j5rl3v.fun http://m.gz1980zixc.fun http://www.bo2020uploads.fun http://www.yqo6j6rl3v.fun http://wap.jvz0j2r3o.fun http://m.gz1980spendc.fun http://www.bo2020writes.fun http://www.yqo4j5rl0v.fun http://wap.yqo7j8rl4v.fun http://m.gz1980equalc.fun http://www.bo2020bears.fun http://wap.bo2020cuts.fun http://www.yqo9j7rl4v.fun http://www.jvz1j2r0o.fun http://wap.gz1980accessc.fun http://m.bo2020becozes.fun