From 18d0097747a2137d2064461c6c102185923db92c Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 20 五月 2022 16:05:58 +0800
Subject: [PATCH] 接口使用泛型使其看到响应属性字段

---
 src/main/java/com/ruoyi/framework/web/domain/R.java              |  104 ++++++++++++++++++++++++++++++++++
 src/main/java/com/ruoyi/project/tool/swagger/TestController.java |   34 ++++++-----
 2 files changed, 122 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/ruoyi/framework/web/domain/R.java b/src/main/java/com/ruoyi/framework/web/domain/R.java
new file mode 100644
index 0000000..d16cc72
--- /dev/null
+++ b/src/main/java/com/ruoyi/framework/web/domain/R.java
@@ -0,0 +1,104 @@
+package com.ruoyi.framework.web.domain;
+
+import java.io.Serializable;
+
+/**
+ * 鍝嶅簲淇℃伅涓讳綋
+ *
+ * @author ruoyi
+ */
+public class R<T> implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 鎴愬姛 */
+    public static final int SUCCESS = 0;
+
+    /** 澶辫触 */
+    public static final int FAIL = 500;
+
+    private int code;
+
+    private String msg;
+
+    private T data;
+
+    public static <T> R<T> ok()
+    {
+        return restResult(null, SUCCESS, "鎿嶄綔鎴愬姛");
+    }
+
+    public static <T> R<T> ok(T data)
+    {
+        return restResult(data, SUCCESS, "鎿嶄綔鎴愬姛");
+    }
+
+    public static <T> R<T> ok(T data, String msg)
+    {
+        return restResult(data, SUCCESS, msg);
+    }
+
+    public static <T> R<T> fail()
+    {
+        return restResult(null, FAIL, "鎿嶄綔澶辫触");
+    }
+
+    public static <T> R<T> fail(String msg)
+    {
+        return restResult(null, FAIL, msg);
+    }
+
+    public static <T> R<T> fail(T data)
+    {
+        return restResult(data, FAIL, "鎿嶄綔澶辫触");
+    }
+
+    public static <T> R<T> fail(T data, String msg)
+    {
+        return restResult(data, FAIL, msg);
+    }
+
+    public static <T> R<T> fail(int code, String msg)
+    {
+        return restResult(null, code, msg);
+    }
+
+    private static <T> R<T> restResult(T data, int code, String msg)
+    {
+        R<T> apiResult = new R<>();
+        apiResult.setCode(code);
+        apiResult.setData(data);
+        apiResult.setMsg(msg);
+        return apiResult;
+    }
+
+    public int getCode()
+    {
+        return code;
+    }
+
+    public void setCode(int code)
+    {
+        this.code = code;
+    }
+
+    public String getMsg()
+    {
+        return msg;
+    }
+
+    public void setMsg(String msg)
+    {
+        this.msg = msg;
+    }
+
+    public T getData()
+    {
+        return data;
+    }
+
+    public void setData(T data)
+    {
+        this.data = data;
+    }
+}
diff --git a/src/main/java/com/ruoyi/project/tool/swagger/TestController.java b/src/main/java/com/ruoyi/project/tool/swagger/TestController.java
index 8aade83..21871ce 100644
--- a/src/main/java/com/ruoyi/project/tool/swagger/TestController.java
+++ b/src/main/java/com/ruoyi/project/tool/swagger/TestController.java
@@ -14,7 +14,7 @@
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.controller.BaseController;
-import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -40,24 +40,24 @@
 
     @ApiOperation("鑾峰彇鐢ㄦ埛鍒楄〃")
     @GetMapping("/list")
-    public AjaxResult userList()
+    public R<List<UserEntity>> userList()
     {
         List<UserEntity> userList = new ArrayList<UserEntity>(users.values());
-        return AjaxResult.success(userList);
+        return R.ok(userList);
     }
 
     @ApiOperation("鑾峰彇鐢ㄦ埛璇︾粏")
     @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class)
     @GetMapping("/{userId}")
-    public AjaxResult getUser(@PathVariable Integer userId)
+    public R<UserEntity> getUser(@PathVariable Integer userId)
     {
         if (!users.isEmpty() && users.containsKey(userId))
         {
-            return AjaxResult.success(users.get(userId));
+            return R.ok(users.get(userId));
         }
         else
         {
-            return error("鐢ㄦ埛涓嶅瓨鍦�");
+            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
         }
     }
 
@@ -69,44 +69,46 @@
         @ApiImplicitParam(name = "mobile", value = "鐢ㄦ埛鎵嬫満", dataType = "String", dataTypeClass = String.class)
     })
     @PostMapping("/save")
-    public AjaxResult save(UserEntity user)
+    public R<String> save(UserEntity user)
     {
         if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
         {
-            return error("鐢ㄦ埛ID涓嶈兘涓虹┖");
+            return R.fail("鐢ㄦ埛ID涓嶈兘涓虹┖");
         }
-        return AjaxResult.success(users.put(user.getUserId(), user));
+        users.put(user.getUserId(), user);
+        return R.ok();
     }
 
     @ApiOperation("鏇存柊鐢ㄦ埛")
     @PutMapping("/update")
-    public AjaxResult update(@RequestBody UserEntity user)
+    public R<String> update(@RequestBody UserEntity user)
     {
         if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
         {
-            return error("鐢ㄦ埛ID涓嶈兘涓虹┖");
+            return R.fail("鐢ㄦ埛ID涓嶈兘涓虹┖");
         }
         if (users.isEmpty() || !users.containsKey(user.getUserId()))
         {
-            return error("鐢ㄦ埛涓嶅瓨鍦�");
+            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
         }
         users.remove(user.getUserId());
-        return AjaxResult.success(users.put(user.getUserId(), user));
+        users.put(user.getUserId(), user);
+        return R.ok();
     }
 
     @ApiOperation("鍒犻櫎鐢ㄦ埛淇℃伅")
     @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class)
     @DeleteMapping("/{userId}")
-    public AjaxResult delete(@PathVariable Integer userId)
+    public R<String> delete(@PathVariable Integer userId)
     {
         if (!users.isEmpty() && users.containsKey(userId))
         {
             users.remove(userId);
-            return success();
+            return R.ok();
         }
         else
         {
-            return error("鐢ㄦ埛涓嶅瓨鍦�");
+            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
         }
     }
 }

--
Gitblit v1.9.3