Spring Cloud 架构设计之API接口错误码定义

本文介绍了在SpringCloud架构下如何定义和管理API接口的错误码。首先,定义了一个IErrorCode接口,包含错误编码和错误信息。接着,列举了常见的公共错误码,如200表示成功,500表示失败。然后,提出了为每个微服务定义特定错误码范围的方法,以4位固定前缀加4位自定义后缀的形式,并给出了视频微服务的错误码示例。最后,总结了错误码在微服务架构中的重要性。
摘要由CSDN通过智能技术生成

Spring Cloud 架构设计之API接口错误码定义

前言

近期,本人在开发一款互联网产品,项目地址https://github.com/yjjhkyq/doubi。同时,我也将通过连载的方式,将这款互联网产品的架构、技术细节等逐步记录下来,欢迎大家指正。

一、定义错误码结构

public interface IErrorCode {

    long getCode();

    String getMessage();
}

错误码定义为一个接口,分别返回long类型的错误编码以及String类型的错误信息

二、公共错误码

public enum ResultCode implements IErrorCode {
    SUCCESS(200, "操作成功"),
    FAILED(500, "操作失败"),
    VALIDATE_FAILED(404, "参数检验失败"),
    UNAUTHORIZED(401, "暂未登录或token已经过期"),
    FORBIDDEN(403, "没有相关权限"),
    GREEN_BLOCKED(1, "内容违规"),
    ;
    private long code;
    private String message;

    ResultCode(long code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public long getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }
}

公共错误码主要定义一些常用的公共错误信息,例如200 表示成功,500 表示失败。

二、各个微服务错误码定义

一个项目右多个微服务组成,那么,各个微服务的错误码应该如何定义呢?

  • 给各个微服务定义一个错误码范围,定义错误码范围方式有很多种。本产品中错误码格式为:固定前缀(4位)+自定义后缀 (4位), 后4位从0001开始递增。
  • 同样,错误结构定义也是实现IErrorCode接口,如下为视频微服务错误码定义:
public enum  VideoErrorEnum implements IErrorCode {
   VIDEO_TITLE_REVIEW_BLOCKED(92060001L, "视频标题审核没有通过哦,请调整视频标题"),
   VIDEO_NOT_EXISTED(92060002L, "视频已经被作者删除"),
       ;
   private long code;
   private String message;

   VideoErrorEnum(long code, String message) {
       this.code = code;
       this.message = message;
   }

   @Override
   public long getCode() {
       return 0;
   }

   @Override
   public String getMessage() {
       return null;
   }
}```

总结

写完了,弱弱的问下,可以帮我的开源项目点个赞码?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值