ApiController.java
2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.jflyfox.api.controller;
import com.jfinal.aop.Before;
import com.jfinal.kit.JsonKit;
import com.jflyfox.api.form.ApiForm;
import com.jflyfox.api.form.ApiResp;
import com.jflyfox.api.interceptor.ApiInterceptor;
import com.jflyfox.api.service.ApiService;
import com.jflyfox.api.util.ApiUtils;
import com.jflyfox.component.base.BaseProjectController;
import com.jflyfox.jfinal.component.annotation.ControllerBind;
import com.jflyfox.util.StrUtils;
@ControllerBind(controllerKey = "/api")
@Before(ApiInterceptor.class)
public class ApiController extends BaseProjectController {
ApiService service = new ApiService();
/**
* api测试入口
* <p>
* 2016年10月3日 下午5:47:55 flyfox 369191470@qq.com
*/
public void index() {
ApiForm from = getForm();
renderJson(new ApiResp(from).setData("api is ok!"));
}
/**
* 开关调试日志
* <p>
* 2016年10月3日 下午5:47:46 flyfox 369191470@qq.com
*/
public void debug() {
ApiForm from = getForm();
ApiUtils.DEBUG = !ApiUtils.DEBUG;
renderJson(new ApiResp(from).setData(ApiUtils.DEBUG));
}
/**
* 获取信息入口
* <p>
* 2016年10月3日 下午1:38:27 flyfox 369191470@qq.com
*/
public void action() {
long start = System.currentTimeMillis();
ApiForm from = getForm();
if (StrUtils.isEmpty(from.getMethod())) {
String method = getPara();
from.setMethod(method);
}
// 调用接口方法
ApiResp resp = service.action(from);
// 没有数据输出空
resp = resp == null ? new ApiResp(from) : resp;
// 调试日志
if (ApiUtils.DEBUG) {
log.info("API DEBUG ACTION \n[from=" + from + "]" //
+ "\n[resp=" + JsonKit.toJson(resp) + "]" //
+ "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
}
renderJson(resp);
}
public ApiForm getForm() {
ApiForm form = getBean(ApiForm.class, null);
return form;
}
}