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

相关文章

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探讨 Spring Cloud 的定义、核心组件、应用场景以及未来的发展趋势。 什么是 Spring Cloud Spring Cloud 是一个基于 Spring

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热