From 65c305363c2e282eb14149c28e556f69f1b05a4a Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Jan 2023 23:34:50 +0800 Subject: [PATCH] =?UTF-8?q?Roadmap=20=E8=B7=AF=E7=BA=BF=E5=9B=BE=EF=BC=9A?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=81=87=E5=88=A0=E9=99=A4=E3=80=81WITH=20AS?= =?UTF-8?q?=20=E7=AD=89=E8=BF=9B=E5=BA=A6=EF=BC=8C=E6=84=9F=E8=B0=A2=20clo?= =?UTF-8?q?udAndMonkey,=20ifooling=20=E7=9A=84=E8=B4=A1=E7=8C=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/Tencent/APIJSON/blob/master/Roadmap.md --- Roadmap.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index 6084841b..c655f5fa 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -185,41 +185,50 @@ https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/ 可以配置两条不同规则,用不同的 tag 对应使用不同的条件。

method: DELETE
-通过 id 删除
+ +通过 id 删除 ``` tag: Comment-by-id // 当然写成 Comment:id 等其它任何不符合表名格式的名称都可 structure: ... "MUST":"id" ... ```
-通过 date 条件删除
+ +通过 date 条件删除 ``` tag: Comment-by-date structure: ... "MUST":"date" ... ``` +
-如果想只配置一条规则,则 Operation 加上 AT_LEAST_ONE/ANY_ONE ,然后配置
+如果想只配置一条规则,则 Operation 加上 AT_LEAST_ONE/ANY_ONE ,然后配置 + ``` tag: Comment structure: ... "AT_LEAST_ONE":"id,date" ... // 至少传其中一个 ``` -或
+ +或 + ``` tag: Comment structure: ... "ANY_ONE":"id,date" ... // 必须传其中一个,不能同时传 2 个以上 ```
+ AT_LEAST_ONE/ANY_ONE 其中一个也可以通过扩展 MUST 来实现(目前看这种方式更好)
"MUST":"id | date,其它" 通过 | 或来表示其中任何一个,注意左右一定要各有一个空格,因为可能有 "name|$" "id|{}" 等包含 "|" 的 key
https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/Operation.java
还可以设置更复杂的表达方式 + ``` "MUST":"1:id | date,其它" // id, date 必须传其中一个,且不能多传
"MUST":">=2:id | momentId|{} | date>=,其它" // id, momentId|{}, date>= 必须至少其中 2 个 "MUST":"2+:id | momentId|{} | date>=,其它" // id, momentId|{}, date>= 必须至少其中 2 个,替代 >= 2,更方便解析,并且不用考虑 >1, != 2 等其它各种不等式 "MUST":"2-:id | momentId|{} | date>=,其它" // id, momentId|{}, date>= 最多传其中 2 个,替代 <= 2 ``` +
这样的话就不用加 Operation 了,不过 AbstractVerifier 仍然要处理下 REFUSE 和 MUST 的互斥关系
https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java#L1012-L1042