web请求响应规范化处理

本文探讨了在Web开发中,如何通过规范化后端处理结果,将其封装成固定格式返回给前端,以此提升代码的可读性和简洁性。详细介绍了定义结果集规范、封装过程,并通过具体例子说明了该方法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
* @author StormMa
* @Date 2017-03-21
*/

生命不息,奋斗不止!


之所以讲究规范会请求处理,就是将每次的后端处理结果封装成固定的格式去回送到前端,之于规范化的好处,就不甚枚举了。我们先看看代码实现吧!

定义结果集的规范
/**
 * <p>Created on 2017/3/15.</p>
 *
 * @author StormMa
 *
 * @Description: 对请求结果进行封装
 */
public class RequestResult<T> {

    /**
     * error code :错误是1、成功是0
     */
    private Integer code;

    /**
     * 要返回的数据
     */
    private T data;

    /**
     * 本次请求的说明信息
     */
    private String msg;

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    @Override
    public String toString() {
        return "RequestResult{" +
                "code=" + code +
                ", data=" + data +
                ", msg='" + msg + '\'' +
                '}';
    }
}
结果集封装
/**
 * <p>Created on 2017/3/15.</p>
 *
 * @author StormMa
 *
 * @Description: 封装请求结果的工具类
 */
public class ResultUtil {

    /**
     * 成功请求的结果封装
     * @param t
     * @param <T>
     * @return
     */
    public static <T> RequestResult<T> success(T t) {
        RequestResult<T> result = new RequestResult<>();
        result.setCode(0);
        result.setMsg("success");
        result.setData(t);
        return result;
    }

    /**
     * 成功请求的结果封装
     * @param <T>
     * @return
     */
    public static <T> RequestResult<T> success() {
        return success(null);
    }

    /**
     * 失败请求的结果封装
     * @param <T>
     * @return
     */
    public static <T> RequestResult<T> fail() {
        RequestResult<T> result = new RequestResult<>();
        result.setCode(1);
        result.setData(null);
        result.setMsg("fail");
        return result;
    }

    /**
     * 失败请求的结果封装
     * @param msg
     * @param <T>
     * @return
     */
    public static <T> RequestResult<T> fail(String msg) {
        RequestResult<T> result = new RequestResult<>();
        result.setCode(1);
        result.setData(null);
        result.setMsg(msg);
        return result;
    }
}
举例
/**
 * <p>Created on 2017/3/21.</p>
 * 
 * @author StormMa
 * 
 * @Description: 使用规范化结果响应
 */
@RestController
@RequestMapping(value = "/test")
public class TestController {

    @Autowired
    private ITestService testService;

    @RequestMapping(value = "/{testId}")
    public RequestResult<Test> getTest(@PathVariable int testId) {
        Test test = testService.getTestById(testId);

        if (test != null) {
            return ResultUtil.success(test);
        }
        return ResultUtil.fail("不存在数据!");
    }
}
结束语

看到规范化请求响应的好处了吧,Controller里面的代码更加简洁明了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值