{"repo":"feiniaojin/graceful-response","free":true,"listed":false,"github":"https://github.com/feiniaojin/graceful-response","clone":"git clone https://github.com/feiniaojin/graceful-response.git","description":"Spring Boot接口响应处理解决方案，提供统一返回值封装、全局异常处理、自定义异常错误码、参数校验增强、断言增强等功能","language":"Java","stars":1253,"topics":["api","java","spring-boot","globalexceptionhandler","restfull"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"作者新书推荐 本项目作者的新书《悟道领域驱动设计》目前已上架各大电商平台，感兴趣的朋友可以帮忙支持一下。 购买链接：https://item.jd.com/14835288.html 1. 项目介绍 Graceful Response 是 Spring Boot 技术体系下的响应处理解决方案，可以帮助开发者优雅地完成包括统一响应格式数据封装、全局异常处理、错误码填充、异常消息国际化等处理过程，提高开发效率，提高代码质量。欢迎 star! 项目及案例代码仓库如下: Spring Boot 版本 项目 案例 ---------------- ---------------------------------------------------- ------------------------------------------------------------ 3.x 2.x 学习资源： - B 站教学视频 2. 核心功能 - 统一返回值封装 - void 返回类型封装 - 全局异常处理 - 自定义响应体：适应不同项目的响应格式需求 - 参数校验错误码：为参数校验的异常指定错误码，支持全局的参数校验错误码 - 断言增强：执行断言时填充错误码和异常信息到 Response - 异常别名：适配外部异常，通过注解或者配置文件的方式，为外部异常指定错误码 - 例外请求放行：支持根据路径、返回值、注解、配置等多种方式进行放行，无须担心框架冲突 - 第三方组件适配：目前已完成 Swagger、springdoc、actuator、FastJson 等框架或者组件的适配 - RESTful 支持：可以指定异常的 HTTP 状态码，并且支持统一指定 - 错误码枚举：支持定义错误码枚举，避免创建过多的异常类 更多功能，请到文档中心进行了解。 3. 感谢 感谢以下公众号或者自媒体对本项目的推广。 自媒体名称 类型 链接 --------------- ----- ----------------------------------------------------- 芋道源码 公众号 Java 面试那些事 公众号 编程奇点 公众号 macrozheng 公众号 Java 后端技术 公众号 Java 高性能架构 公众号 技术老男孩 公众号 Java 知音 公众号 Java123 公众号 程序员追风 公众号 Spring源码项目进行时 掘金 京东云开发者 掘金 4. 快速入门 4.1 引入 Graceful Response 通过 Maven 依赖进行引入，GAV如下： 版本选择 ：请到中央仓库选择最新的版本，boot2 和 boot3 有不用的 GAV。 仓库链接： 4.2 开启 Graceful Response 在启动类中引入@EnableGracefulResponse 注解，即可启用 Graceful Response 组件。 4.4 代码编写 4.4.1 Controller层 引入 Graceful Response 后，不需要再手工进行查询结果的封装，直接返回实际结果即可，Graceful Response 会自动完成封装的操作。 Controller 层示例如下。 在示例代码中，Controller 层的方法直接返回了 UserInfoView 对象，没有进行封装的操作，但经过 Graceful Response 处理后，还是得到了以下的响应结果。 而对于命令操作（Command，即写操作）尽量不返回数据，因此写操作的方法的返回值应该是 void，G","default_branch":null,"files":null,"tree":[],"storefront":"/r/feiniaojin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/feiniaojin/graceful-response/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}