java restful 异常设计_RestFul API 统一格式返回 + 全局异常处理

一、背景

在分布式、微服务盛行的今天,绝大部分项目都采用的微服务框架,前后端分离方式。前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。

所以统一接口的返回值,保证接口返回值的幂等性很重要,本文主要介绍博主当前使用的结果集。

二、统一格式设计

2.1 统一结果的一般形式

示例:

{

# 是否响应成功

success: true,

# 响应状态码

code: 200,

# 响应数据

data: Object

# 返回错误信息

message: "",

}

复制代码

2.2 结果类枚举

public enum ResultCodeEnum {

/*** 通用部分 100 - 599***/

// 成功请求

SUCCESS(200, "successful"),

// 重定向

REDIRECT(301, "redirect"),

// 资源未找到

NOT_FOUND(404, "not found"),

// 服务器错误

SERVER_ERROR(500,"server error"),

/*** 这里可以根据不同模块用不同的区级分开错误码,例如: ***/

// 1000~1999 区间表示用户模块错误

// 2000~2999 区间表示订单模块错误

// 3000~3999 区间表示商品模块错误

// 。。。

;

/**

* 响应状态码

*/

private Integer code;

/**

* 响应信息

*/

private String message;

ResultCodeEnum(Integer code, String msg) {

this.code = code;

this.message = msg;

}

public Integer getCode(){

return code;

}

public String getMessage(){

return message;

}

}

复制代码

code:响应状态码

一般小伙伴们是在开发的时候需要什么,就添加什么。但是,为了规范,我们应当参考HTTP请求返回的状态码。

code区间

类型

含义

1**

100-199

信息

服务器接收到请求,需要请求者继续执行操作

2**

200-299

成功

请求被成功接收并处理

3**

300-399

重定向

需要进一步的操作以完成请求

4**

400-499

客户端错误

请求包含语法错误或无法完成请求

5**

500-599

服务器错误

服务器在处理的时候发生错误

常见的HTTP状态码:

200 - 请求成功;

301 - 资源(网页等)被永久转移到其它URL;

404 - 请求的资源(网页等)不存在;

500 - 内部服务器错误。

message:错误信息

在发生错误时,如何友好的进行提示?

根据code 给予对应的错误码定位;

把错误描述记录到message中,便于接口调用者更详细的了解错误。

2.3 统一结果类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值