SpringBoot接口返回结果封装方法实例详解

网友投稿 692 2022-12-06

SpringBoot接口返回结果封装方法实例详解

SpringBoot接口返回结果封装方法实例详解

rest接口会返回各种各样的数据,如果对接口的格式不加约束,很容易造成混乱。

在实际项目中,一般会把结果放在一个封装类中,封装类中包含http状态值,状态消息,以及实际的数据。这里主要记录两种方式:(效果如下)

1、采用Map对象作为返回对象。

/**

* Http请求接口结果封装方法

*

* @param object 数据对象

* @param msgSuccess 提示信息(请求成功)

* @param msgFailed 提示信息(请求失败)

* @param isOperate 是否操作类型(增、删、改)

* @return

*/

public static Maphttp:// getResponse(Object object, String msgSuccess, String msgFailed, boolean isOperate) {

Map data = new HashMap<>();

if (object != null) {

data.put("success", true);

data.put("msg", msgSuccess);

data.put("result", 1);

} else {

data.put("success", false);

data.put("msg", msgFailed);

data.put("result", 0);

}

if (!isOperate) {

data.put("data", object);

} else {

data.put("data", null);

}

return data;

}yGIpliDuoP

2、根据不同类型结果,调用不同的封装方法。

/**

* 格式化请求结果(List类型)

*

* @param

* @param objectList 对象列表

* @param msgSuccess 信息提示(请求成功)

* @param msgFailed 信息提示(请求失败)

* @return

*/

@SuppressWarnings("unchecked")

public static Tb_Response getResponse(List objectList, String msgSuccess, String msgFailed) {

Tb_Response tb_Response = new Tb_Response();

if (objectList.size() > 0) {

tb_Response.setSuccess(true);

tb_Response.setMsg(msgSuccess);

tb_Response.setResult(1);

tb_yGIpliDuoPResponse.setData((List) objectList);

} else {

tb_Response.setSuccess(false);

tb_Response.setMsg(msgFailed);

tb_Response.setResult(0);

}

return (Tb_Response) tb_Response;

}

/**

* 格式化请求结果(Object类型)

*

* @param

* @param object 对象信息

* @param msgSuccess 信息提示(请求成功)

* @param msgFailed 信息提示(请求失败)

* @return

*/

@SuppressWarnings("unchecked")

public static Tb_ResponseData getResponseData(T object, String msgSuccess, String msgFailed) {

Tb_ResponseData tb_ResponseData = new Tb_ResponseData();

if (object != null) {

tb_ResponseData.setSuccess(true);

tb_ResponseData.setMsg(msgSuccess);

tb_ResponseData.setResult(1);

tb_ResponseData.setData((T) object);

} else {

tb_ResponseData.setSuccess(false);

tb_ResponseData.setMsg(msgFailed);

tb_ResponseData.setResult(0);

tb_ResponseData.setData(null);

}

return (Tb_ResponseData) tb_ResponseData;

}

/**

* 格式化请求结果(Boolean类型)

*

* @param result 请求结果

* @param msgSuccess 信息提示(请求成功)

* @param msgFailed 信息提示(请求失败)

* @return

*/

public static Tb_ResponseData getResponseData(boolean result, String msgSuccess, String msgFailed) {

Tb_ResponseData tb_ResponseData = new Tb_ResponseData();

if (result) {

tb_ResponseData.setSuccess(true);

tb_ResponseData.setMsg(msgSuccess);

tb_ResponseData.setResult(1);

} else {

tb_ResponseData.setSuccess(false);

tb_ResponseData.setMsg(msgFailed);

tb_ResponseData.setResult(0);

}

tb_ResponseData.setData(null);

return tb_ResponseData;

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot结合vue实现增删改查及分页查询
下一篇:SpringBoot实战项目之谷歌浏览器全屏效果实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~