当前位置:网站首页>Web项目Controller统一返回实体类
Web项目Controller统一返回实体类
2022-08-03 18:29:00 【Hejjon】
ResponseResult.java
package com.hejjon.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "统一返回实体类")
public class ResponseResult<T> {
public static final int OK_CODE = 200;
public static final int FAIL_CODE = 500;
@ApiModelProperty("状态码")
private int code;
@ApiModelProperty("信息")
private String message;
@ApiModelProperty("数据")
private T data;
private ResponseResult(int code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public static <T> ResponseResult<T> success() {
return new ResponseResult<>(OK_CODE, "成功", null);
}
public static <T> ResponseResult<T> success(T data) {
return new ResponseResult<T>(OK_CODE, "成功", data);
}
public static <T> ResponseResult<T> success(String msg, T data) {
return new ResponseResult<>(OK_CODE, msg, data);
}
public static <T> ResponseResult<T> fail() {
return new ResponseResult<>(FAIL_CODE, "失败", null);
}
public static <T> ResponseResult<T> fail(String msg) {
return new ResponseResult<T>(FAIL_CODE, msg, null);
}
public static <T> ResponseResult<T> fail(String msg, T data) {
return new ResponseResult<>(FAIL_CODE, msg, data);
}
}
使用方法
1. 返回单个实体类型
@GetMapping("/get/{id}")
@ApiOperation("根据主键获取用户信息")
public ResponseResult<BaseUser> get(@PathVariable("id") String id) {
if (StringUtils.isEmpty(id)) {
return ResponseResult.fail("id不可为空");
}
BaseUser user = baseUserService.getById(id);
return ResponseResult.success(user);
}2. 返回实体集合
@PostMapping("/list")
@ApiOperation("全部学生列表")
public ResponseResult<List<BaseStudent>> list() {
List<BaseStudent> list = baseStudentService.list();
return ResponseResult.success(list);
}
3. 返回实体分页对象(Mybatis)
@ApiOperation("分页列表")
@PostMapping("/page")
public ResponseResult<Page<BaseStudent>> page(@RequestBody BaseQueryParam param) {
Page<BaseStudent> page = new Page<>(param.getPageNum(), param.getPageSize());
Page<BaseStudent> pagedata = baseStudentService.page(page);
return ResponseResult.success(pagedata);
}边栏推荐
猜你喜欢

【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position

Shell:循环语句

动态打印菱形

安装porterLB

vulnhub pyexp: 1

Jenkins CI平台(二)

MySQL database account management and optimization

How does MySQL permanently support Chinese input once and for all?

87.(cesium之家)cesium热力图(贴地形)

三丁基-巯基膦烷「tBuBrettPhos Pd(allyl)」OTf),1798782-17-8
随机推荐
谷歌浏览器安装插件教程步骤,开发用这2个插件工作效率倍增
WEB 渗透之CSRF
在线监控机房内的UPS电源及运行环境,解决方案来了
[数据集][VOC]老鼠数据集voc格式3001张
Share 14 JS functions you must know
Flask框架——项目可安装化
智能合约安全——delegatecall (2)
Shell:循环语句
fatal error: jni.h: No such file or directory
超T动力 焕“芯”出发 | 中国重汽专属定制版WP14T产品闪耀登场
常见亲脂性细胞膜染料DiO, Dil, DiR, Did光谱图和实验操作流程
Oracle备份的几种方式
flink-sql 客户端 可以设置并行度 吗?断开算子链
【汇编语言02】第2章 寄存器——理论知识
三丁基-巯基膦烷「tBuBrettPhos Pd(allyl)」OTf),1798782-17-8
TiFlash 计算层概览
cdc抽取mysql整个实例的binlog,有没有方案通过配置的方式将这些库表拆开分发到kafka
Gson 学习笔记
POJ 1465 Multiple(用BFS求能组成的n的最小倍数)
sys文件系统