当前位置: 首页 > news >正文

我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.7.0更新

什么是 rest-api-spring-boot-starter

rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规范的业务RestFull API 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。

动机

每次Web API常用功能都需要重新写一遍。或者复制之前的项目代码。于是我封装了这么一个stater

抽出SpringBoot Web API 每个项目必备需要重复写的模块,和必备功能。
并且扩展了我工作中用到的 所有工具库。 解放双手提高开发效率

推荐版本

  • SpringBoot
SpringBoot 2.7.x

版本更新

目前最新版本1.7.0 支持功能如下:

  • 支持一键配置自定义RestFull API 统一格式返回

  • 支持RestFull API 错误国际化

  • 支持全局异常处理,全局参数验证处理

  • 业务错误断言工具封装,遵循错误优先返回原则

  • 封装Redis key,value 操作工具类。统一key管理 spring cache缓存实现

  • RestTemplate 封装 POST,GET 请求工具

  • 日志集成。自定义日志路径,按照日志等级分类,支持压缩和文件大小分割。按时间显示

  • 工具库集成 集成了lombok,hutool,commons-lang3,guava。不需要自己单个引入

  • 集成mybatisPlus一键代码生成

  • 日志记录,服务监控,支持日志链路查询。自定义数据源

  • OpenApi3文档集成支持一键配置。支持多种文档和自动配置

  • 生成JWT标准Token和权限认证

  • 全局自定义Json序列化处理对空,浮点,时间等类型格式返回

  • 接口限流,Ip城市回显

  • HttpUserAgent请求设备工具封装

  • RequestUtil参数解析封装工具

  • GitHub 地址

  • gitee 地址

JSON 序列化

现在 WEB API 的通讯都是基于 WEB JSON 进行通讯数据交互。JSON 比较轻量。格式清晰。 所以项目中经常需要用到对 JSON 返回处理。

对 Bean 的序列化。对时间格式返回。对空处理返回。

于是我在1.7.0版本中加入对JSON数据格式自定义全局处理

只需要在你的属性文件中配置对应类型的,对应返回格式就行

rest-api:json:number-form: ".00" # 浮点数格式化  ,000,00 不足补零。,###.## 不会补零 (四舍五入)date-form: yyyy-MM-dd HH:mm:ss.SSS #时间格式化  timestamp 时间戳null-able: # 对空返回处理has-null-able: false # 默认不处理   original 类型代表单个不做任何处理number-type: number # 处理number 空返回 "0"array-type: array # 处理集合空返回 []double-type: double # 处理double 类型空返回 "0.00"

相关文章:

我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.7.0更新

什么是 rest-api-spring-boot-starter rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规范的业务RestFull API 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。 动机 每次Web API常用功能都需要重新写一遍。或者复…...

excel要如何自动累加某个单元格上方的所有单元格?

输入公式 SUM(INDIRECT("A1:A"&ROW()-1)) 运行实例如下图 注意图中b4,和b5单元格都输入相同的公式。 此方法可以避免写vba,以前此类问题的解决都是通过vba代码进行处理 对函数进行解析 主要使用了 INDIRECT() 2、公式说明:…...

广州道可维斯受邀参加首届金蝶暨佛山数字化生态峰会

2023首届金蝶暨佛山数字化生态峰会,于7月28日在佛山隆重举行。此次大会由金蝶软件集团主办,共有超150家软件行业企业莅临参与,共同探讨数字化行业的最新动态和趋势。 活动当日,道可维斯的客户成功中心主任梁健,做了以“企业内容管…...

ubuntu远程控制小车 运行rviz时报错

我买的是wheeltec的小车,测试rgbd相机时想在ubuntu上的rviz中显示小车的姿态和看到的rgb和depth图,但是ubuntu中rostopic list和rviz都找不到小车发布的话题信息,运行rqt_image_view时可以显示图片信息。 最终wheeltec的技术人员lucas帮我找了…...

轻松实现自定义数据脱敏返回

学习目标&#xff1a; 实现简单的数据脱敏功能 例如&#xff1a; 学习自定义数据脱敏 学习内容&#xff1a; 使用到&#xff1a;泛型、反射 /*** * param obj 需要数据脱敏的对象* param par 那些字段需要脱敏* param <T>* return* throws Exception*/public static …...

pytorch 中_call_impl()函数

记录pytorch 版本中的 nn.Module() 重要函数 1. _call_impl() 1.1 torch1.7.1 版本 def _call_impl(self, *input, **kwargs):for hook in itertools.chain(_global_forward_pre_hooks.values(),self._forward_pre_hooks.values()):result hook(self, input)if result is n…...

openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句

文章目录 openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句22.1 语法格式22.2 参数说明22.3 示例 openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句 HAVING子句可以让我们筛选分组后的各组数据。 WHERE子句在所选列上设置条件&#xff0c;而HAVING子句则在由…...

干货 | 常见电路板GND与外壳GND之间接一个电阻一个电容,为什么?

干货 | 常见电路板GND与外壳GND之间接一个电阻一个电容&#xff0c;为什么&#xff1f; 外壳是金属的&#xff0c;中间是一个螺丝孔&#xff0c;也就是跟大地连接起来了。这里通过一个1M的电阻跟一个0.1uF的电容并联&#xff0c;跟电路板的地连接在一起&#xff0c;这样有什么好…...

网络层协议总览

网络层协议总览 IPARP&#xff08;地址解析协议&#xff09;ICMP&#xff08;网际控制报文协议&#xff09;路由选择协议NAT&#xff08;网络地址转换协议&#xff09; 网络层的主要协议包括IP、ARP、RARP、ICMP、IGMP以及各种路由选择协议等。 IP IP协议是TCP/IP协议簇中的核…...

C++模拟实现list

1.首先要了解到vs底层的list链表是带头双向循环的链表。 所以首先就要看成员变量 那么就说明我们还需要构造一个Node的结构体&#xff0c;&#xff08;typedef一下就好了&#xff0c;名字不影响&#xff09; 现在就可以完成间的push_back函数了。 1.list的iterator 我们之前模…...

PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…...

《零基础入门学习Python》第058讲:论一只爬虫的自我修养6:正则表达式2

上一节课我们通过一个例子&#xff08;匹配 ip 地址&#xff09;让大家初步了解到正则表达式的魔力&#xff0c;也让大家充分了解到学习正则表达式是一个相对比较困难的事情。所以这一节课我们将继续学习 正则表达式的语法。 我们依稀还记得在Python中&#xff0c;正则表达式是…...

第一堂棒球课:MLB棒球大联盟的主要战术·棒球1号位

MLB棒球大联盟的主要战术 攻击战术run-and-foul&#xff08;跑垒战术&#xff09;&#xff1a;以速度为优势&#xff0c;在适当的时机发动进攻&#xff0c;争取在一回合内完成得分。 grounder&#xff08;阻截战术&#xff09;&#xff1a;队员在垒包之间阻止对手的跑垒和传球。…...

【论文阅读】利用道路目标特征的多期车载激光点云配准

目录 引 言1 道路场景点云特征2 配准方法2.1 配准基元获取2.2 特征点提取2.3 两期道路场景车载点云的配准 2.3.1 基于特征点的4PCS 粗配准 3 实验与分析4 结论5 参考文献 摘 要 针对车载移动测量系统获取的城市道路点云场景巨大、目标复杂多样&#xff0c;多期道路场景重访车载…...

L---泰拉瑞亚---2023河南萌新联赛第(三)场:郑州大学

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 示例1 输入 1 10 3 5 输出 3 说明 只有一把回旋镖&#xff0c;你可以先打两次伤害为3的&#xff0c;再打一次倾尽全力的&#xff0c;造成的伤害为5。总伤害为33511&#xff0c;即可获得胜…...

windows无盘启动技术开发之使用本地镜像文件启动电脑

by fanxiushu 2023-07-26 转载或引用请注明原始作者。 其实使用本地镜像文件启动电脑&#xff0c;这个windows操作系统本身就是自带的功能。 win7以上的系统&#xff0c;制作 vhd或vhdx格式的镜像文件&#xff0c; 然后在镜像文件中安装windows操作系统&#xff0c;然后放到真实…...

PoseiSwap 即将开启质押,利好刺激下 POSE通证短时涨超 30%

随着 Nautilus Chain 主网的上线&#xff0c;预示着 Web3 世界迎来全新的模块化、Layer3 时代&#xff0c;为 Web3 世界与 Web2 世界的深入融合构建基础。而 PoseiSwap 作为 Nautilus Chain 上的首个 DEX&#xff0c;也成为了加密行业首个以模块化为基础构建的 DEX。 基于 Naut…...

Linux文本编辑器-vim

目录 前言 Vim三种模式 打开方式 命令模式 插入模式 可视模式 保存和退出 前言 Vim是一个功能丰富且强大的文本编辑器&#xff0c;被广泛用于Linux系统。它是Vi的增强版本&#xff0c;提供了更多的功能和改进&#xff0c;同时可以通过插件扩展其功能&#xff1b; Vim三…...

vscode使用g++编译.c文件或.cpp文件

vscode是一个跨平台、轻量级、插件非常丰厚的IDE&#xff0c;这里介绍在vscode里使用g来编译.cpp文件。g也叫GCC, 在Window中&#xff0c;是使用MinGW方式实现g的&#xff0c;它分为32位和64位2个版本&#xff0c;其中&#xff0c;MinGW-64是64位的&#xff0c;MinGW-32是32位的…...

云计算的服务模式包括哪些|PetaExpress云服务商

云计算&#xff08;cloud computing&#xff09;它是一种分布式计算&#xff0c;是指通过网络“云”将巨大的数据计算处理程序分解成无数的小程序&#xff0c;然后通过由多个服务器组成的系统进行处理和分析&#xff0c;得到结果并返回给用户。云计算作为一种基于互联网的新型超…...

PyTorch 2.8深度学习镜像入门必看:RTX 4090D环境验证与快速上手步骤

PyTorch 2.8深度学习镜像入门必看&#xff1a;RTX 4090D环境验证与快速上手步骤 1. 镜像概述与核心优势 PyTorch 2.8深度学习镜像专为RTX 4090D显卡优化设计&#xff0c;提供开箱即用的深度学习开发环境。这个镜像最显著的特点是免去了复杂的环境配置过程&#xff0c;让开发者…...

大三下期末突击指南:从编译原理到大数据,这6门课我是怎么一周内搞定的

大三下期末突击指南&#xff1a;从编译原理到大数据&#xff0c;这6门课我是怎么一周内搞定的 距离期末考试只剩一周&#xff0c;面对算法分析、编译原理、嵌入式这些硬核课程&#xff0c;你是不是已经开始焦虑了&#xff1f;别担心&#xff0c;去年我也经历过同样的困境。通过…...

基于DeepSeek的本地部署AI智能体:锁脸功能实现完整方案

基于DeepSeek的本地部署AI智能体:锁脸功能实现完整方案 一、项目概述与架构设计 1.1 任务目标 开发一个具有锁脸功能的AI智能体,能够: 完全本地部署,无需依赖云端服务 锁定智能体的角色设定、人格特征和对话风格 支持多轮对话记忆 提供RESTful API接口 保证角色设定在任…...

从硅片到电路:图解CMOS反相器的制造工艺与工作原理

从硅片到电路&#xff1a;图解CMOS反相器的制造工艺与工作原理 在半导体工业中&#xff0c;CMOS反相器作为数字电路的基本构建模块&#xff0c;其制造工艺凝聚了现代微电子技术的精华。本文将带您深入半导体fab的微观世界&#xff0c;通过工艺截面图的逐步解析&#xff0c;揭示…...

智能电动汽车芯片全景解析:从MCU到SoC的技术跃迁

1. 智能电动汽车的芯片革命&#xff1a;从机械控制到数字大脑 十年前打开汽车引擎盖&#xff0c;看到的是一堆机械部件和少量电子控制单元&#xff1b;现在掀开一辆特斯拉的"前备箱"&#xff0c;映入眼帘的却是布满芯片的电路板。这个直观变化背后&#xff0c;是汽车…...

基于python的一线式酒店管理系统

目录 同行可拿货,招校园代理 ,本人源头供货商功能模块设计技术实现要点扩展功能建议异常处理机制 项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 同行可拿货,招校园代理 ,本人源头供货商 功能模块设计 前台管理模块 客房预…...

Keepass2Android密码库完整性验证终极指南:如何确保你的密码安全无虞

Keepass2Android密码库完整性验证终极指南&#xff1a;如何确保你的密码安全无虞 【免费下载链接】keepass2android Password manager app for Android 项目地址: https://gitcode.com/gh_mirrors/ke/keepass2android 在当今数字化时代&#xff0c;密码管理器已成为保护…...

2269 上市公司智慧供应链对数字创新的平均处理效应指标【ATT】(2000-2024)

数据来源上市公司年报时间跨度2000-2024区域跨度全国所有上市公司数据格式数据格式为Excel形式数据简介本数据集旨在全面测度中国上市公司智慧供应链建设的政策冲击效应&#xff0c;涵盖了2000年至2024年A股上市公司的长周期面板数据。作为研究数字经济与实体经济深度融合的关键…...

Win11虚拟内存配置全解析:从临时页面文件到永久解决方案(含DISM命令详解)

Win11虚拟内存深度优化指南&#xff1a;从原理到实战的完整解决方案 每次开机看到那个烦人的"页面文件配置问题"提示&#xff0c;是不是让你感到困惑又无奈&#xff1f;作为Windows系统内存管理的关键组件&#xff0c;虚拟内存的配置直接影响着系统性能和稳定性。本文…...

Graphormer在放射性药物中的应用:螯合剂分子稳定常数与配位能力预测

Graphormer在放射性药物中的应用&#xff1a;螯合剂分子稳定常数与配位能力预测 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络模型&#xff0c;专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子基准测试中表现优异&a…...