|
101 | 101 | @Service
|
102 | 102 | @RestController
|
103 | 103 | @RequestMapping("")
|
104 |
| -public class DemoController extends APIJSONController { |
| 104 | +public class DemoController extends APIJSONController<Long> { |
105 | 105 | private static final String TAG = "DemoController";
|
106 | 106 |
|
107 | 107 | // 可以更方便地通过日志排查错误
|
108 | 108 | @Override
|
109 | 109 | public String getRequestURL() {
|
110 | 110 | return httpServletRequest.getRequestURL().toString();
|
111 | 111 | }
|
| 112 | + |
112 | 113 |
|
113 |
| - //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
| 114 | + // 通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
| 115 | + |
| 116 | + /**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率 |
| 117 | + * @param method |
| 118 | + * @param tag |
| 119 | + * @param params |
| 120 | + * @param request |
| 121 | + * @param session |
| 122 | + * @return |
| 123 | + */ |
| 124 | + @PostMapping(value = "crud/{method}") // 直接 {method} 或 apijson/{method} 会和内置网页的路由有冲突 |
| 125 | + @Override |
| 126 | + public String crud(@PathVariable String method, @RequestBody String request, HttpSession session) { |
| 127 | + return super.crud(method, request, session); |
| 128 | + } |
114 | 129 |
|
115 | 130 | /**获取
|
116 | 131 | * @param request 只用String,避免encode后未decode
|
@@ -196,8 +211,23 @@ public String delete(@RequestBody String request, HttpSession session) {
|
196 | 211 | return super.delete(request, session);
|
197 | 212 | }
|
198 | 213 |
|
| 214 | + // 通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
199 | 215 |
|
200 |
| - //以上接口对应的简版接口,格式为 {method}/{tag}?format=true&@explain=true.. <<<<<<<<<<<<<<<<<<<<<<<<< |
| 216 | + // 以上接口对应的简版接口,格式为 {method}/{tag}?format=true&@explain=true.. <<<<<<<<<<<<<<<<<<<<<<<<< |
| 217 | + |
| 218 | + /**增删改查统一接口,这个一个接口可替代 7 个万能通用接口,牺牲一些路由解析性能来提升一点开发效率 |
| 219 | + * @param method |
| 220 | + * @param tag |
| 221 | + * @param params |
| 222 | + * @param request |
| 223 | + * @param session |
| 224 | + * @return |
| 225 | + */ |
| 226 | + @PostMapping("crud/{method}/{tag}") // 直接 {method}/{tag} 或 apijson/{method}/{tag} 会和内置网页的路由有冲突 |
| 227 | + @Override |
| 228 | + public String crudByTag(@PathVariable String method, @PathVariable String tag, @RequestParam Map<String, String> params, @RequestBody String request, HttpSession session) { |
| 229 | + return super.crudByTag(method, tag, params, request, session); |
| 230 | + } |
201 | 231 |
|
202 | 232 | /**获取
|
203 | 233 | * @param request 只用String,避免encode后未decode
|
@@ -283,7 +313,7 @@ public String deleteByTag(@PathVariable String tag, @RequestParam Map<String, St
|
283 | 313 | return super.deleteByTag(tag, params, request, session);
|
284 | 314 | }
|
285 | 315 |
|
286 |
| - //以上接口对应的简版接口,格式为 {method}/{tag}?format=true&@explain=true.. >>>>>>>>>>>>>>>>>>>>>>>>> |
| 316 | + // 以上接口对应的简版接口,格式为 {method}/{tag}?format=true&@explain=true.. >>>>>>>>>>>>>>>>>>>>>>>>> |
287 | 317 |
|
288 | 318 |
|
289 | 319 |
|
@@ -1231,6 +1261,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
|
1231 | 1261 | map.remove("$_type");
|
1232 | 1262 | map.remove("$_except_headers");
|
1233 | 1263 | map.remove("$_delegate_url");
|
| 1264 | + map.remove("$_delegate_id"); |
1234 | 1265 |
|
1235 | 1266 | Set<Entry<String, String[]>> set = map == null ? null : map.entrySet();
|
1236 | 1267 |
|
|
0 commit comments