/**
* Copyright (c) 2016-2019 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有,侵权必究!
*/
package com.atguigu.common.utils;
import org.apache.http.HttpStatus;
import java.util.HashMap;
import java.util.Map;
/**
* 返回数据
*
* @author Mark sunlightcs@gmail.com
*/
public class R extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public R() {
put("code", 0);
put("msg", "success");
}
public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
}
public static R error(String msg) {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}
public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
}
eg:
@GetMapping("/{attrgroupId}/attr/relation")
public R attrRelation(@PathVariable("attrgroupId") Long attrgroupId) {
List<AttrEntity> entities = attrService.getRelationAttr(attrgroupId);
return R.ok().put("data", entities);
}
===2023.11.10==============================================================================================

package com.ruoyi.zhanduan.util;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.zhanduan.enmus.AppHttpCodeEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 通用的结果返回类
*
* @param <T>
*/
@Data
@Accessors(chain = true)// 连缀操作
public class Result<T> implements Serializable {
private String host;
private Integer code;
private String errorMessage;
private T data;
public Result() {
this.code = 200;
}
public Result(Integer code, T data) {
this.code = code;
this.data = data;
}
public Result(Integer code, String msg, T data) {
this.code = code;
this.errorMessage = msg;
this.data = data;
}
public Result(Integer code, String msg) {
this.code = code;
this.errorMessage = msg;
}
/**
* 是否成功
*
* @return
*/
@JsonIgnore
public boolean isSuccess() {
return this.code == 200;
}
public static <T> Result<T> ok() {
return setAppHttpCodeEnum(AppHttpCodeEnum.SUCCESS);
}
@SuppressWarnings("unchecked")
public static <T> Result<T> ok(T data) {
return (Result<T>) ok().setData(data);
}
public static <T> Result<T> error(Integer code, String msg) {
return new Result<T>()
.setCode(code).setErrorMessage(msg);
}
public static <T> Result<T> error(AppHttpCodeEnum enums) {
return setAppHttpCodeEnum(enums);
}
public static <T> Result<T> error(AppHttpCodeEnum enums, String errorMessage) {
return setAppHttpCodeEnum(enums, errorMessage);
}
public static <T> Result<T> result(Integer code, String msg) {
return result(code, null, msg);
}
public static <T> Result<T> result(Integer code, T data, String msg) {
return new Result<T>()
.setCode(code).setData(data).setErrorMessage(msg);
}
private static <T> Result<T> setAppHttpCodeEnum(AppHttpCodeEnum enums) {
return result(enums.getCode(), enums.getErrorMessage());
}
private static <T> Result<T> setAppHttpCodeEnum(AppHttpCodeEnum enums, String errorMessage) {
return result(enums.getCode(), errorMessage);
}
}
package com.ruoyi.zhanduan.enmus;
public enum AppHttpCodeEnum {
// 成功段0
SUCCESS(200,"操作成功"),
// 登录段1~50
NEED_LOGIN(1,"需要登录后操作"),
LOGIN_PASSWORD_ERROR(2,"密码错误"),
// TOKEN50~100
TOKEN_INVALID(50,"无效的TOKEN"),
TOKEN_EXPIRE(51,"TOKEN已过期"),
TOKEN_REQUIRE(52,"TOKEN是必须的"),
// SIGN验签 100~120
SIGN_INVALID(100,"无效的SIGN"),
SIG_TIMEOUT(101,"SIGN已过期"),
// 参数错误 500~1000
PARAM_REQUIRE(500,"缺少参数"),
PARAM_INVALID(501,"无效参数"),
PARAM_IMAGE_FORMAT_ERROR(502,"图片格式有误"),
SERVER_ERROR(503,"服务器内部错误"),
// 数据错误 1000~2000
DATA_EXIST(1000,"数据已经存在"),
AP_USER_DATA_NOT_EXIST(1001,"ApUser数据不存在"),
DATA_NOT_EXIST(1002,"数据不存在"),
// 数据错误 3000~3500
NO_OPERATOR_AUTH(3000,"无权限操作"),
NEED_ADMIN(3001,"需要管理员权限"),
//自媒体文章错误
MATERIASL_REFERENCE_FAIL(3501,"素材引用失效"),
;
final int code;
final String errorMessage;
AppHttpCodeEnum(int code, String errorMessage){
this.code = code;
this.errorMessage = errorMessage;
}
public int getCode() {
return code;
}
public String getErrorMessage() {
return errorMessage;
}
}
=========================================================================================
public class Result {
private static final String SUCCESS_CODE = "200";
private static final String ERROR_CODE = "201";
private static final String SUCCESS_MSG = "success";
private static final String ERROR_MSG = "error";
private Object data;
private String code;
private String message;
public static Result ok() {
Result r = new Result();
r.setCode(SUCCESS_CODE);
r.setMessage(SUCCESS_MSG);
return r;
}
public static Result ok(Object data) {
Result r = ok();
if (data != null) {
r.setData(data);
}
return r;
}
public static Result ok(Object data, String message) {
Result r = new Result();
r.setCode(SUCCESS_CODE);
r.setData(data);
r.setMessage(message != null ? message : SUCCESS_MSG);
return r;
}
public static Result error() {
Result r = new Result();
r.setCode(ERROR_CODE);
r.setMessage(ERROR_MSG);
return r;
}
public static Result error(Object data) {
Result r = error();
if (data != null) {
r.setData(data);
}
return r;
}
public static Result error(Object data, String message) {
Result r = new Result();
r.setCode(ERROR_CODE);
r.setData(data);
r.setMessage(message != null ? message : ERROR_MSG);
return r;
}
public static Result error(String code , Object data, String message) {
Result r = error(data, message);
r.setCode(code);
return r;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示