From 24834e9c65e0adea29963abf9dff7d6381047579 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Tue, 16 Aug 2016 21:17:43 +0800 Subject: [PATCH] --- plugin_rest.html | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/plugin_rest.html b/plugin_rest.html index b2ea84684..11576f900 100644 --- a/plugin_rest.html +++ b/plugin_rest.html @@ -65,6 +65,10 @@

public class SimpleRestServlet extends RestHttpServlet<UserInfo> {
 
+    protected static final RetResult RET_UNLOGIN = RetCodes.retResult(RetCodes.RET_USER_UNLOGIN);
+
+    protected static final RetResult RET_AUTHILLEGAL = RetCodes.retResult(RetCodes.RET_USER_AUTH_ILLEGAL);
+
     @Resource
     private UserService userService;
 
@@ -81,23 +85,17 @@
     public boolean authenticate(int module, int actionid, HttpRequest request, HttpResponse response) throws IOException {
         UserInfo info = currentUser(request);
         if (info == null) {
-            response.addHeader("retcode", RetCodes.RET_USER_UNLOGIN);
-            response.addHeader("retmessage", "Not Login");
-            response.setStatus(203);
-            response.finish("{'success':false, 'message':'Not Login'}");
+            response.finishJson(RET_UNLOGIN);
             return false;
-        } else if (!info.checkAuth(module, actionid)) { // 根据module、actionid进行鉴权
-            response.addHeader("retcode", RetCodes.RET_USER_AUTH_ILLEGAL);
-            response.addHeader("retmessage", "No Authority");
-            response.setStatus(203);
-            response.finish("{'success':false, 'message':'No Authority'}");
+        } else if (!info.checkAuth(module, actionid)) {
+            response.finishJson(RET_AUTHILLEGAL);
             return false;
         }
         return true;
     }
 
 }
-                
+

@@ -205,7 +203,7 @@ //查询列表 @RestMapping(name = "query", authignore = true) - public Sheet<HelloEntity> queryHello(@RestParam("bean") HelloBean bean, Flipper flipper) { //通过 /hello/query/start:0/size:20?bean={...} 查询列表 + public Sheet<HelloEntity> queryHello(@RestParam("bean") HelloBean bean, Flipper flipper) { //通过 /hello/query/offset:0/limit:20?bean={...} 查询列表 return source.querySheet(HelloEntity.class, flipper, bean); } @@ -232,7 +230,7 @@ HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean"); UserInfo user = currentUser(req); RetResult<HelloEntity> result = _service.createHello(user, bean); - sendRetResult(resp, result); + resp.finishJson(result); } @AuthIgnore @@ -240,7 +238,7 @@ public void delete(HttpRequest req, HttpResponse resp) throws IOException { int id = Integer.parseInt(req.getRequstURILastPath()); _service.deleteHello(id); - sendRetResult(resp, RetResult.SUCCESS); + resp.finishJson(RetResult.success()); } @AuthIgnore @@ -248,14 +246,14 @@ public void update(HttpRequest req, HttpResponse resp) throws IOException { HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean"); _service.updateHello(bean); - sendRetResult(resp, RetResult.SUCCESS); + resp.finishJson(RetResult.success()); } @AuthIgnore @WebAction(url = "/hello/query") public void query(HttpRequest req, HttpResponse resp) throws IOException { HelloBean bean = req.getJsonParameter(HelloBean.class, "bean"); - Flipper flipper = findFlipper(req); + Flipper flipper = req.getFlipper(); Sheet<HelloEntity> result = _service.queryHello(bean, flipper); resp.finishJson(result); } @@ -268,7 +266,7 @@ resp.finishJson(bean); } } - +

        REST的第二种设置方式是显式的设置, 看如下范例:
@@ -313,7 +311,7 @@ } //查询Sheet列表 - public Sheet<HelloEntity> queryHello(HelloBean bean, Flipper flipper) { //通过 /hello/query/start:0/size:20?bean={...} 查询Sheet列表 + public Sheet<HelloEntity> queryHello(HelloBean bean, Flipper flipper) { //通过 /hello/query/offset:0/limit:20?bean={...} 查询Sheet列表 return source.querySheet(HelloEntity.class, flipper, bean); } @@ -347,7 +345,7 @@ HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean"); UserInfo user = currentUser(req); RetResult<HelloEntity> result = _service.createHello(user, bean); - sendRetResult(resp, result); + resp.finishJson(result); } @AuthIgnore @@ -355,7 +353,7 @@ public void delete(HttpRequest req, HttpResponse resp) throws IOException { int id = Integer.parseInt(req.getRequstURILastPath()); _service.deleteHello(id); - sendRetResult(resp, RetResult.SUCCESS); + resp.finishJson(RetResult.success()); } @AuthIgnore @@ -363,7 +361,7 @@ public void update(HttpRequest req, HttpResponse resp) throws IOException { HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean"); _service.updateHello(bean); - sendRetResult(resp, RetResult.SUCCESS); + resp.finishJson(RetResult.success()); } @AuthIgnore @@ -372,14 +370,14 @@ HelloEntity bean = req.getJsonParameter(HelloEntity.class, "bean"); String[] cols = req.getJsonParameter(String[].class, "cols"); _service.updateHello(bean, cols); - sendRetResult(resp, RetResult.SUCCESS); + resp.finishJson(RetResult.success()); } @AuthIgnore @WebAction(url = "/hello/query") public void query(HttpRequest req, HttpResponse resp) throws IOException { HelloBean bean = req.getJsonParameter(HelloBean.class, "bean"); - Flipper flipper = findFlipper(req); + Flipper flipper = req.getFlipper(); Sheet<HelloEntity> result = _service.queryHello(bean, flipper); resp.finishJson(result); } @@ -405,10 +403,10 @@ public void jsfind(HttpRequest req, HttpResponse resp) throws IOException { int id = Integer.parseInt(req.getRequstURILastPath()); HelloEntity bean = _service.findHello(id); - sendJsResult(resp, "varhello", bean); + resp.finishJsResult("varhello", bean); } } - +

        REST插件让开发者省去了编写HttpServlet过程,让开发更加敏捷。