springboot2.2.X手册:构建多元化的API接口,我们这样子设计

2024-06-18 01:48

本文主要是介绍springboot2.2.X手册:构建多元化的API接口,我们这样子设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

springboot2.2.X手册:构建多元化的API接口,我们这样子设计

 

无规矩不成方圆,任何一个软件,如果刚开始没有定义好规范,任由各个开发进行按照自己的喜好进行开发,后面运维的兄弟,估计整天就要骂娘了。

开发一时爽,运维火葬场,运维一个软件,往往比开发一个软件要辛苦好多,毕竟很多时候,运维都要从不明白需求,不理解系统架构,不理解数据结构的0开始。

今天来做一个定义多业务的接口规范,考虑到每家企业的业务不一样,只提供参考


目录

定义多业务接口

统一接口消息体

定义全局异常

构建拦截的信息体

整合swagger接口可视化

运行


 

springboot2.2.X手册:构建多元化的API接口,我们这样子设计

 

 

定义多业务接口

在后端的服务中,我们的服务只会提供API接口,以便提供数据,根据业务需求,我们把接口分为三类

1、后端系统服务接口view,主要提供给后台管理系统使用,面向B端

2、前端系统服务接口application,主要提供给小程序,H5使用,面向C端

3、第三方服务接口external,主要提供给第三方使用

 

springboot2.2.X手册:构建多元化的API接口,我们这样子设计

 

 

统一接口消息体

/*** 消息影响实体* @author:溪云阁* @date:2020年5月2日*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "响应类", description = "响应类")
public class ResponseMsg<T> {@ApiModelProperty(value = "响应状态", example = "00,成功;01,失败")private String respStatus;@ApiModelProperty(value = "响应描述", example = "例如:找不到用户信息")private Object respDesc;@ApiModelProperty(value = "响应实体")private T data;}

定义全局异常

1、统一异常

/*** 全局公共异常类* @author:溪云阁* @date:2020年5月2日*/
@Slf4j
public class CommonRuntimeException extends RuntimeException {private static final long serialVersionUID = 1L;@Setter@Getterprivate Object[] params;public CommonRuntimeException(Throwable e, Object... params) {super(e);this.params = params;}public CommonRuntimeException(Object... params) {this(null, params);}public CommonRuntimeException(Throwable e) {this(null, e);}public CommonRuntimeException() {}@Overridepublic String getMessage() {log.error("获取到的错误信息:{}", super.getMessage());log.error("获取到的错误内容:{}", super.fillInStackTrace());return super.getMessage();}/*** 重写fillInStackTrace 业务异常不需要堆栈信息,提高效率.* @author 溪云阁* @return*/@Overridepublic Throwable fillInStackTrace() {return this;}
}

2、统一异常处理

/*** 统一异

这篇关于springboot2.2.X手册:构建多元化的API接口,我们这样子设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070971

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应