Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9ab9888

Browse files
Java:Boot 系列和 JFinal 的 Demo 都为 Parser 传入 requestURL 方便调试
1 parent 8afc7cd commit 9ab9888

File tree

3 files changed

+36
-25
lines changed

3 files changed

+36
-25
lines changed

‎APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java‎

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,14 @@
100100
public class DemoController extends APIJSONController {
101101
private static final String TAG = "DemoController";
102102

103+
// 可以更方便地通过日志排查错误
104+
@Override
105+
public String getRequestURL() {
106+
return httpServletRequest.getRequestURL().toString();
107+
}
108+
103109
//通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
104110

105-
106111
/**获取
107112
* @param request 只用String,避免encode后未decode
108113
* @param session
@@ -1102,9 +1107,9 @@ public void remove(String key) {
11021107
}
11031108

11041109
@Autowired
1105-
HttpServletRequest request;
1110+
HttpServletRequest httpServletRequest;
11061111
@Autowired
1107-
HttpServletResponse response;
1112+
HttpServletResponse httpServletResponse;
11081113

11091114
/**代理接口,解决前端(APIAuto等)跨域问题
11101115
* @param exceptHeaders 排除请求头,必须放在最前面,放后面可能被当成 $_delegate_url 的一部分
@@ -1152,7 +1157,7 @@ public String delegate(
11521157
body = obj.toJSONString();
11531158
}
11541159

1155-
Enumeration<String> names = request.getHeaderNames();
1160+
Enumeration<String> names = httpServletRequest.getHeaderNames();
11561161
HttpHeaders headers = null;
11571162
String name;
11581163
if (names != null) {
@@ -1171,16 +1176,16 @@ public String delegate(
11711176
if (name != null && exceptHeaderList.contains(name.toLowerCase()) == false) {
11721177
//APIAuto 是一定精准发送 Set-Cookie 名称过来的,预留其它命名可实现覆盖原 Cookie Header 等更多可能
11731178
if (SET_COOKIE.toLowerCase().equals(name.toLowerCase())) { //接收到时就已经被强制小写
1174-
setCookie = Arrays.asList(request.getHeader(name)); // JSON.parseArray(request.getHeader(name), String.class);
1179+
setCookie = Arrays.asList(httpServletRequest.getHeader(name)); // JSON.parseArray(request.getHeader(name), String.class);
11751180
}
11761181
else if (ADD_COOKIE.toLowerCase().equals(name.toLowerCase())) {
1177-
addCookie = Arrays.asList(request.getHeader(name));
1182+
addCookie = Arrays.asList(httpServletRequest.getHeader(name));
11781183
}
11791184
else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
1180-
apijsonDelegateId = Arrays.asList(request.getHeader(name));
1185+
apijsonDelegateId = Arrays.asList(httpServletRequest.getHeader(name));
11811186
}
11821187
else {
1183-
headers.add(name, request.getHeader(name));
1188+
headers.add(name, httpServletRequest.getHeader(name));
11841189
}
11851190
}
11861191
}
@@ -1215,7 +1220,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
12151220
}
12161221

12171222
//可能是 HTTP POST FORM,即便是 HTTP POST JSON,URL 的参数也要拼接,尽可能保持原样 if (method == HttpMethod.GET) {
1218-
Map<String, String[]> map = request.getParameterMap();
1223+
Map<String, String[]> map = httpServletRequest.getParameterMap();
12191224

12201225
if (map != null) {
12211226
map = new HashMap<>(map); //解决 throw exception: Unmodified Map
@@ -1259,7 +1264,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
12591264
}
12601265

12611266
SESSION_MAP.put(session.getId(), session);
1262-
response.setHeader(APIJSON_DELEGATE_ID, session.getId());
1267+
httpServletResponse.setHeader(APIJSON_DELEGATE_ID, session.getId());
12631268

12641269
return entity.getBody();
12651270
}

‎APIJSON-Java-Server/APIJSONBoot/src/main/java/apijson/boot/DemoController.java‎

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,14 @@
100100
public class DemoController extends APIJSONController {
101101
private static final String TAG = "DemoController";
102102

103+
// // 取消注释可以更方便地通过日志排查错误
104+
// @Override
105+
// public String getRequestURL() {
106+
// return httpServletRequest.getRequestURL().toString();
107+
// }
108+
103109
//通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
104110

105-
106111
/**获取
107112
* @param request 只用String,避免encode后未decode
108113
* @param session
@@ -1090,7 +1095,7 @@ public void remove(String key) {
10901095
public static final SessionMap SESSION_MAP;
10911096

10921097
public static final String ADD_COOKIE = "Add-Cookie";
1093-
public static final String APIJSON_DELEGATE_ID = "APIJSON-DELEGATE-ID";
1098+
public static final String APIJSON_DELEGATE_ID = "Apijson-Delegate-Id"; // 有些 Web 框架会强制把全大写改为全小写或大驼峰
10941099
public static final List<String> EXCEPT_HEADER_LIST;
10951100
static {
10961101
SESSION_MAP = new SessionMap();
@@ -1102,9 +1107,9 @@ public void remove(String key) {
11021107
}
11031108

11041109
@Autowired
1105-
HttpServletRequest request;
1110+
HttpServletRequest httpServletRequest;
11061111
@Autowired
1107-
HttpServletResponse response;
1112+
HttpServletResponse httpServletResponse;
11081113

11091114
/**代理接口,解决前端(APIAuto等)跨域问题
11101115
* @param exceptHeaders 排除请求头,必须放在最前面,放后面可能被当成 $_delegate_url 的一部分
@@ -1152,7 +1157,7 @@ public String delegate(
11521157
body = obj.toJSONString();
11531158
}
11541159

1155-
Enumeration<String> names = request.getHeaderNames();
1160+
Enumeration<String> names = httpServletRequest.getHeaderNames();
11561161
HttpHeaders headers = null;
11571162
String name;
11581163
if (names != null) {
@@ -1171,16 +1176,16 @@ public String delegate(
11711176
if (name != null && exceptHeaderList.contains(name.toLowerCase()) == false) {
11721177
//APIAuto 是一定精准发送 Set-Cookie 名称过来的,预留其它命名可实现覆盖原 Cookie Header 等更多可能
11731178
if (SET_COOKIE.toLowerCase().equals(name.toLowerCase())) { //接收到时就已经被强制小写
1174-
setCookie = Arrays.asList(request.getHeader(name)); // JSON.parseArray(request.getHeader(name), String.class);
1179+
setCookie = Arrays.asList(httpServletRequest.getHeader(name)); // JSON.parseArray(request.getHeader(name), String.class);
11751180
}
11761181
else if (ADD_COOKIE.toLowerCase().equals(name.toLowerCase())) {
1177-
addCookie = Arrays.asList(request.getHeader(name));
1182+
addCookie = Arrays.asList(httpServletRequest.getHeader(name));
11781183
}
11791184
else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
1180-
apijsonDelegateId = Arrays.asList(request.getHeader(name));
1185+
apijsonDelegateId = Arrays.asList(httpServletRequest.getHeader(name));
11811186
}
11821187
else {
1183-
headers.add(name, request.getHeader(name));
1188+
headers.add(name, httpServletRequest.getHeader(name));
11841189
}
11851190
}
11861191
}
@@ -1191,7 +1196,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
11911196
if (sessionId != null) {
11921197
HttpSession s = SESSION_MAP.get(sessionId);
11931198
if (s != null) {
1194-
s = session;
1199+
session = s;
11951200
}
11961201
}
11971202

@@ -1215,7 +1220,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
12151220
}
12161221

12171222
//可能是 HTTP POST FORM,即便是 HTTP POST JSON,URL 的参数也要拼接,尽可能保持原样 if (method == HttpMethod.GET) {
1218-
Map<String, String[]> map = request.getParameterMap();
1223+
Map<String, String[]> map = httpServletRequest.getParameterMap();
12191224

12201225
if (map != null) {
12211226
map = new HashMap<>(map); //解决 throw exception: Unmodified Map
@@ -1259,7 +1264,7 @@ else if (APIJSON_DELEGATE_ID.toLowerCase().equals(name.toLowerCase())) {
12591264
}
12601265

12611266
SESSION_MAP.put(session.getId(), session);
1262-
response.setHeader(APIJSON_DELEGATE_ID, session.getId());
1267+
httpServletResponse.setHeader(APIJSON_DELEGATE_ID, session.getId());
12631268

12641269
return entity.getBody();
12651270
}

‎APIJSON-Java-Server/APIJSONFinal/src/main/java/apijson/jfinal/DemoController.java‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@
3333
import static apijson.framework.APIJSONConstant.VISITOR_;
3434
import static apijson.framework.APIJSONConstant.VISITOR_ID;
3535

36-
import java.io.UnsupportedEncodingException;
37-
import java.net.URL;
3836
import java.net.URLDecoder;
39-
import java.nio.charset.Charset;
4037
import java.rmi.ServerException;
4138
import java.util.Map;
4239
import java.util.Map.Entry;
@@ -93,6 +90,10 @@ public Parser<Long> newParser(HttpSession session, RequestMethod method) {
9390
if (parser instanceof APIJSONParser) {
9491
((APIJSONParser) parser).setSession(session);
9592
}
93+
// // 取消注释可以更方便地通过日志排查错误
94+
// if (parser instanceof AbstractParser) {
95+
// ((AbstractParser<?>) parser).setRequestURL(getRequest().getRequestURL().toString());
96+
// }
9697
return parser;
9798
}
9899

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /