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

资阳公司网站建设怎么提高关键词搜索权重

资阳公司网站建设,怎么提高关键词搜索权重,敦煌网跨境电商怎么样,深圳极速网站建设报价Spring 项目返回值枚举类编写技巧 在 Spring 项目中,使用枚举类来统一管理返回值和状态码是一种非常优雅的实现方式。这不仅能提升代码的可读性和维护性,还能避免在代码中硬编码字符串或数字来表示状态码。本文将以 ReturnCodeEnum 为例,介绍…

Spring 项目返回值枚举类编写技巧

在 Spring 项目中,使用枚举类来统一管理返回值和状态码是一种非常优雅的实现方式。这不仅能提升代码的可读性和维护性,还能避免在代码中硬编码字符串或数字来表示状态码。本文将以 ReturnCodeEnum 为例,介绍如何编写和使用枚举类。

1. 枚举值定义

枚举类定义了项目中的所有状态码和相应的描述信息。每个枚举值代表一种返回状态,如操作成功、操作失败、权限问题等。通过这种方式,我们可以在项目的不同模块中使用相同的状态码,保证了一致性。

示例:
@Getter
public enum ReturnCodeEnum {/**操作失败**/RC999("999", "操作XXX失败"),/**操作成功**/RC200("200", "success"),/**服务降级**/RC201("201", "服务开启降级保护,请稍后再试!"),/**热点参数限流**/RC202("202", "热点参数限流,请稍后再试!"),/**系统规则不满足**/RC203("203", "系统规则不满足要求,请稍后再试!"),/**授权规则不通过**/RC204("204", "授权规则不通过,请稍后再试!"),/**无访问权限**/RC403("403", "无访问权限,请联系管理员授予权限"),RC401("401", "匿名用户访问无权限资源时的异常"),RC404("404", "404页面找不到的异常"),/**服务异常**/RC500("500", "系统异常,请稍后重试"),RC375("375", "数学运算异常,请稍后重试"),INVALID_TOKEN("2001", "访问令牌不合法"),ACCESS_DENIED("2003", "没有权限访问该资源"),CLIENT_AUTHENTICATION_FAILED("1001", "客户端认证失败"),USERNAME_OR_PASSWORD_ERROR("1002", "用户名或密码错误"),BUSINESS_ERROR("1004", "业务逻辑异常"),UNSUPPORTED_GRANT_TYPE("1003", "不支持的认证模式");/** 自定义状态码 **/private final String code;/** 自定义描述 **/private final String message;// 构造函数ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;}
}

2. 枚举类构造方法

ReturnCodeEnum 中,每个枚举常量都带有两个参数:code(状态码)和 message(描述信息)。通过构造方法,我们可以将这些值初始化并赋予给每个枚举常量。这种设计方式非常简洁高效,确保了所有的状态码和描述信息在定义时就被固定下来,避免了运行时的动态赋值,从而提高了安全性和可维护性。

示例:
ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;
}

3. 遍历枚举

有时我们需要根据返回码来查找对应的枚举值。Java 提供了内置的 values() 方法,它可以遍历所有枚举常量。我们可以通过遍历来实现查找功能。

遍历方法 V1:使用 for 循环
public static ReturnCodeEnum getReturnCodeEnum(String code) {for (ReturnCodeEnum element : ReturnCodeEnum.values()) {if (element.getCode().equalsIgnoreCase(code)) {return element;}}return null;
}
遍历方法 V2:使用 Java 8 Stream API

利用 Java 8 提供的 Stream 流操作,代码更加简洁高效。filter 用于筛选符合条件的枚举值,findFirst() 用于获取第一个符合条件的值。

public static ReturnCodeEnum getReturnCodeEnumV2(String code) {return Arrays.stream(ReturnCodeEnum.values()).filter(x -> x.getCode().equalsIgnoreCase(code)).findFirst().orElse(null);
}

4. 如何在项目中使用

枚举类在实际项目中的应用非常广泛。我们可以将 ReturnCodeEnum 用于构建统一的 API 响应,使每个接口的返回值格式一致。以下是一个示例,展示了如何使用 ReturnCodeEnum 构建 API 响应。

示例代码:
public class ResponseUtil {public static Map<String, Object> buildResponse(ReturnCodeEnum returnCode) {Map<String, Object> response = new HashMap<>();response.put("code", returnCode.getCode());response.put("message", returnCode.getMessage());return response;}
}

在控制器中,我们可以直接调用 ResponseUtil 来构建响应:

@RestController
@RequestMapping("/api")
public class ApiController {@GetMapping("/success")public Map<String, Object> successResponse() {return ResponseUtil.buildResponse(ReturnCodeEnum.RC200);}@GetMapping("/fail")public Map<String, Object> failResponse() {return ResponseUtil.buildResponse(ReturnCodeEnum.RC999);}
}

5. 扩展:异常处理与国际化

枚举类还可以与异常处理机制结合,统一管理异常响应。结合 Spring 的国际化支持,你还可以为不同语言的用户返回不同的错误信息。只需要将 message 替换为国际化资源文件中的键值即可。通过这种方法,所有的状态码和描述都被集中管理,减少了重复代码和硬编码问题。

http://www.hengruixuexiao.com/news/53480.html

相关文章:

  • 北京企业网站建设价格论坛推广案例
  • wordpress 支持 插件下载泰州网站建设优化
  • 网站更新文章重庆网站页面优化
  • 米可网络科技有限公司seo网站关键词优化排名
  • 网站开发保密协议外贸网络推广营销
  • dede旅游网站源码 多城市百度广告怎么收费标准
  • 静态网页模板网站免费友情链接交换平台
  • 做电影网站需要网络营销的市场背景
  • 网站正在备案中模板网络推广技巧
  • 山东济南网站建设谷歌网址
  • matlab代做网站app开发网站
  • 免费网站推广怎么做宣传推广方案怎么写
  • 手机做网站服务器吗飞猪关键词排名优化
  • 电商网站设计是干什么的如何做公司网站推广
  • php做直播类型的网站网站流量查询
  • 设计网站高级感广告公司品牌营销推广
  • 17一起做网站包包广告推广方案
  • 学做网站网镇江百度公司
  • 网站贴子推广怎么做电商培训机构排名前十
  • 哪个网络公司比较好seo网站诊断报告
  • 网站添加icp备案号查网站流量查询工具
  • 网站开发公司取名seo发帖工具
  • 英文网站备案青岛网络推广
  • 深圳网站开发ucreator下载百度网盘app
  • 自做衣服网站seo是什么意思 为什么要做seo
  • 贵阳网站建设多钱钱重庆网站建设维护
  • 网站推广计划表优化大师app
  • 聊城建网站百度推广人联系方式
  • 一个公司网站备案app广告推广
  • 动漫制作专业是干什么的seo排名推广工具