From 0d24781dfccf66b52e45c25c0f5424ecdef716ac Mon Sep 17 00:00:00 2001 From: lyf666 Date: Thu, 16 Feb 2017 17:26:12 +0800 Subject: [PATCH] . --- .../java/cn/cloudowr/dict/Controller.java | 30 ++++++++++++------- src/main/webapp/doc/api.txt | 4 +-- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/java/cn/cloudowr/dict/Controller.java b/src/main/java/cn/cloudowr/dict/Controller.java index ad56595..026c08f 100644 --- a/src/main/java/cn/cloudowr/dict/Controller.java +++ b/src/main/java/cn/cloudowr/dict/Controller.java @@ -26,19 +26,29 @@ public class Controller extends com.jfinal.core.Controller{ renderText("2"); } - @Before(IdInterceptor.class) public void dict() { - String id = getPara("id"); + Map paraMap = getParaMap(); + List ops = new ArrayList<>(); + + paraMap.forEach((key, arr) -> { + if ("id".equals(key)) { + ops.add(Filters.eq("_id", new ObjectId(arr[0]))); + } else { + ops.add(Filters.eq(key, arr[0])); + } + }); MongoCollection collection = getCollection(); - Document dict = collection.find( - Filters.eq("_id", new ObjectId(id)) - ).limit(1).first(); - if (dict != null) { - renderJson(dict.toJson()); - } else { - renderError(404); - } + List documents = new ArrayList<>(); + collection.find( + Filters.and(ops) + ).into(documents); + + List json = new ArrayList<>(); + documents.forEach(doc -> { + json.add(doc.toJson()); + }); + renderText(Arrays.toString(json.toArray()), ContentType.JSON); } public void dictList() { diff --git a/src/main/webapp/doc/api.txt b/src/main/webapp/doc/api.txt index 2ebd931..d6b8380 100644 --- a/src/main/webapp/doc/api.txt +++ b/src/main/webapp/doc/api.txt @@ -1,5 +1,5 @@ -dict (String id required) { - return dict json +dict (key-value pairs) { + return dict list json } dictList (int pageNum default 0, int pageSize default 20) { return dict list json