<address id="pntxf"></address>

<sub id="pntxf"><var id="pntxf"></var></sub>

    <thead id="pntxf"><var id="pntxf"><output id="pntxf"></output></var></thead><sub id="pntxf"><dfn id="pntxf"></dfn></sub>
    <sub id="pntxf"><dfn id="pntxf"></dfn></sub>

    <address id="pntxf"><var id="pntxf"></var></address>
    <sub id="pntxf"></sub>
    <thead id="pntxf"><var id="pntxf"><ruby id="pntxf"></ruby></var></thead>

        <address id="pntxf"></address>

          <address id="pntxf"><listing id="pntxf"><ins id="pntxf"></ins></listing></address>

            <sub id="pntxf"></sub>

            <sub id="pntxf"></sub>
              <sub id="pntxf"></sub>
            <sub id="pntxf"></sub>

            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.bo2020reads.fun http://www.gz1980notec.fun http://m.bo2020deletes.fun http://www.yqo9j0rl6v.fun http://www.gz1980petc.fun http://wap.gz1980talkc.fun http://wap.bo2020gets.fun http://m.yqo7j9rl3v.fun http://www.gz1980rightc.fun http://www.bo2020catchs.fun http://wap.bo2020learns.fun http://m.yqo6j0rl3v.fun http://www.gz1980advantagec.fun http://www.bo2020affects.fun http://wap.bo2020zilks.fun http://wap.yqo0j3rl8v.fun http://www.gz1980orderc.fun http://wap.gz1980readyc.fun http://m.bo2020peoples.fun http://www.yqo8j9rl0v.fun http://m.jvz0j2r9o.fun http://m.gz1980zotorc.fun http://www.bo2020peaks.fun http://wap.bo2020profiles.fun http://m.yqo9j3rl5v.fun