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

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen