Java接口统一样式返回模板的实现

时间:2021-05-20

前言

一开始,我们在写项目的时候,前端要什么数据,我们就返回什么数据,每个接口也都写得不一样很乱;随着前后端的分离;对于代码规范的要求也越来越严谨;接口都是统一样式的返回模板;

下面,接受一种我之前用过的返回模板;

一、首先来看下我们的Controller接口

/** * 获取用户信息 * @param token 微信登入者token * @param id 商品id * @return 商品详细信息 */ @PostMapping(value = "getUserInfo") @ResponseBody public ResultResponse getUserInfo( @RequestParam(value = "token") String token){ ResultResponse result = new ResultResponse(); //这里获取用户信息的类就不贴出来了 User user = userService.getUserByToken(token); result.setData(user ); return result.setStatus(ResponseCode.SUCCESS); }

我们可以看出,接口返回的是ResultResponse类;下面来剖析这个类;

二、统一样式返回模板ResultResponse剖析

2.1ResultResponse类:

package com.himo.common;import com.fasterxml.jackson.annotation.JsonIgnore;import com.fasterxml.jackson.annotation.JsonInclude;import lombok.Data;/** * @Author: laixiansong * @Description: http请求 * @Vesion: 1.0.0 * @Date: 2017/10/17 */@Datapublic class ResultResponse<T> { /** 错误码 */ private Integer code; /** 错误信息 */ private String msg; @JsonInclude(JsonInclude.Include.NON_NULL) private T data; public void setData(T data) { this.data = data; } public ResultResponse setStatus(ResponseCode responseCode){ this.code = responseCode.getCode(); this.msg = responseCode.getDesc(); return this; } public String getMsg() { return msg; }}

ResultResponse类包含了错误码、错误信息、返回的对象json;

2.2枚举类

从ResultResponse类中我们可以看出,错误码和错误信息是一一对应的,我们用一个枚举类ResponseCode来封装;

ResponseCode:

package com.himo.common;/** * @Author: laixiansong * @Description: * @Vesion: 1.0.0 * @Date: 2017/10/17 */public enum ResponseCode { SUCCESS(0,"SUCCESS"), ERROR(1,"ERROR"), REQUEST_PARAMS_ERROR(1003,"请求参数错误"), NOT_WX_LOGIN(1004,"非微信端登录"), WX_LOGIN_PARAMS_ERROR(1005,"微信登录code错误"), NO_LOGIN(1006,"登录状态失效"), ; private final int code; private final String desc; ResponseCode(int code, String desc){ this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; }}

我们可以在枚举类中加入我们想要增加的错误信息和错误码;

这样就是一个完成的Java接口返回的模板了;

总结

技术在不断更新换代,但是它的基础没有变,要想更好的维护项目,使得代码更加的美观和正规,所有接口统一返回统一类是非常有必要的;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章