From 72fdc38b7a2daf2c1914608200e9d17413234a64 Mon Sep 17 00:00:00 2001
From: yuye <631941527@qq.com>
Date: Sun, 5 Jul 2020 11:20:53 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96json=E4=BC=A0=E5=8F=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mars-common/pom.xml | 2 +-
mars-core/pom.xml | 2 +-
mars-jdbc/pom.xml | 2 +-
mars-mvc/pom.xml | 2 +-
.../java/com/mars/mvc/util/BuildParams.java | 4 +--
mars-server/pom.xml | 2 +-
.../iserver/constant/ParamTypeConstant.java | 27 ++++++++++++++++++
.../iserver/par/HttpMarsRequestFactory.java | 8 +++---
.../server/request/HttpMarsRequest.java | 28 +++++++++++--------
mars-starter/pom.xml | 2 +-
pom.xml | 2 +-
11 files changed, 56 insertions(+), 25 deletions(-)
diff --git a/mars-common/pom.xml b/mars-common/pom.xml
index 9052f15..b2a53f4 100644
--- a/mars-common/pom.xml
+++ b/mars-common/pom.xml
@@ -6,7 +6,7 @@
Mars-Java
com.github.yuyenews
- 3.0.23
+ 3.0.25
mars-common
diff --git a/mars-core/pom.xml b/mars-core/pom.xml
index bf847df..7aba7fe 100644
--- a/mars-core/pom.xml
+++ b/mars-core/pom.xml
@@ -6,7 +6,7 @@
com.github.yuyenews
Mars-Java
- 3.0.23
+ 3.0.25
mars-core
diff --git a/mars-jdbc/pom.xml b/mars-jdbc/pom.xml
index 388ab88..c815018 100644
--- a/mars-jdbc/pom.xml
+++ b/mars-jdbc/pom.xml
@@ -6,7 +6,7 @@
Mars-Java
com.github.yuyenews
- 3.0.23
+ 3.0.25
mars-jdbc
diff --git a/mars-mvc/pom.xml b/mars-mvc/pom.xml
index 4627a22..a33c540 100644
--- a/mars-mvc/pom.xml
+++ b/mars-mvc/pom.xml
@@ -6,7 +6,7 @@
com.github.yuyenews
Mars-Java
- 3.0.23
+ 3.0.25
mars-mvc
diff --git a/mars-mvc/src/main/java/com/mars/mvc/util/BuildParams.java b/mars-mvc/src/main/java/com/mars/mvc/util/BuildParams.java
index 31940fe..d0347bf 100644
--- a/mars-mvc/src/main/java/com/mars/mvc/util/BuildParams.java
+++ b/mars-mvc/src/main/java/com/mars/mvc/util/BuildParams.java
@@ -69,8 +69,8 @@ public class BuildParams {
*/
private static Object getObject(Class cls, HttpMarsRequest request) throws Exception {
/* 如果是Json传参,那就直接转成Java对象返回 */
- if(request.getContentType().startsWith(ParamTypeConstant.JSON)){
- JSONObject paramJson = request.getJsonObject();
+ if(ParamTypeConstant.isJSON(request.getContentType())){
+ JSONObject paramJson = request.getJsonParam();
if(paramJson == null){
return null;
}
diff --git a/mars-server/pom.xml b/mars-server/pom.xml
index 35d4a7a..191e114 100644
--- a/mars-server/pom.xml
+++ b/mars-server/pom.xml
@@ -6,7 +6,7 @@
com.github.yuyenews
Mars-Java
- 3.0.23
+ 3.0.25
mars-server
diff --git a/mars-server/src/main/java/com/mars/iserver/constant/ParamTypeConstant.java b/mars-server/src/main/java/com/mars/iserver/constant/ParamTypeConstant.java
index d703197..1b580bb 100644
--- a/mars-server/src/main/java/com/mars/iserver/constant/ParamTypeConstant.java
+++ b/mars-server/src/main/java/com/mars/iserver/constant/ParamTypeConstant.java
@@ -19,4 +19,31 @@ public class ParamTypeConstant {
* formData提交
*/
public static final String FORM_DATA = "multipart/form-data";
+
+ /**
+ * 是否是json格式
+ * @param contentType 内容类型
+ * @return
+ */
+ public static boolean isJSON(String contentType){
+ return contentType.startsWith(JSON) || contentType.equals(JSON);
+ }
+
+ /**
+ * 是否是formData格式
+ * @param contentType 内容类型
+ * @return
+ */
+ public static boolean isFormData(String contentType){
+ return contentType.startsWith(FORM_DATA) || contentType.equals(FORM_DATA);
+ }
+
+ /**
+ * 是否是表单格式
+ * @param contentType 内容类型
+ * @return
+ */
+ public static boolean isUrlEncoded(String contentType){
+ return contentType.startsWith(URL_ENCODED) || contentType.equals(URL_ENCODED);
+ }
}
diff --git a/mars-server/src/main/java/com/mars/iserver/par/HttpMarsRequestFactory.java b/mars-server/src/main/java/com/mars/iserver/par/HttpMarsRequestFactory.java
index ee4ef8c..eda1268 100644
--- a/mars-server/src/main/java/com/mars/iserver/par/HttpMarsRequestFactory.java
+++ b/mars-server/src/main/java/com/mars/iserver/par/HttpMarsRequestFactory.java
@@ -50,19 +50,19 @@ public class HttpMarsRequestFactory {
/* 根据提交方式,分别处理参数 */
String contentType = marsRequest.getContentType();
- if (contentType.startsWith(ParamTypeConstant.URL_ENCODED)) {
+ if (ParamTypeConstant.isUrlEncoded(contentType)) {
/* 正常的表单提交 */
String paramStr = getParamStr(inputStream);
marsParams = urlencoded(paramStr, marsParams, true);
- } else if (contentType.startsWith(ParamTypeConstant.FORM_DATA)) {
+ } else if (ParamTypeConstant.isFormData(contentType)) {
/* formData提交,可以用于文件上传 */
Map result = formData(httpExchange, marsParams, files, contentType);
files = (Map) result.get(ParsingFormData.FILES_KEY);
marsParams = (Map>) result.get(ParsingFormData.PARAMS_KEY);
- } else if (contentType.startsWith(ParamTypeConstant.JSON)) {
+ } else if (ParamTypeConstant.isJSON(contentType)) {
/* RAW提交(json) */
JSONObject jsonParams = raw(inputStream);
- marsRequest.setJsonObject(jsonParams);
+ marsRequest.setJsonParam(jsonParams);
}
}
/* 将提取出来的参数,放置到HttpMarsRequest中 */
diff --git a/mars-server/src/main/java/com/mars/server/server/request/HttpMarsRequest.java b/mars-server/src/main/java/com/mars/server/server/request/HttpMarsRequest.java
index 942ce09..a5f52cc 100644
--- a/mars-server/src/main/java/com/mars/server/server/request/HttpMarsRequest.java
+++ b/mars-server/src/main/java/com/mars/server/server/request/HttpMarsRequest.java
@@ -27,7 +27,7 @@ public class HttpMarsRequest {
/**
* json参数
*/
- private JSONObject jsonObject;
+ private JSONObject jsonParam;
/**
* 上传的文件
@@ -54,16 +54,16 @@ public class HttpMarsRequest {
* 获取json传参
* @return json参数
*/
- public JSONObject getJsonObject() {
- return jsonObject;
+ public JSONObject getJsonParam() {
+ return jsonParam;
}
/**
* 设置json传参
- * @param jsonObject
+ * @param jsonParam
*/
- public void setJsonObject(JSONObject jsonObject) {
- this.jsonObject = jsonObject;
+ public void setJsonParam(JSONObject jsonParam) {
+ this.jsonParam = jsonParam;
}
/**
@@ -71,14 +71,18 @@ public class HttpMarsRequest {
* @return 参数类型
*/
public String getContentType(){
- if(getMethod().toUpperCase().equals("GET")){
+ try {
+ if(getMethod().toUpperCase().equals("GET")){
+ return "N";
+ }
+ List ctList = httpExchange.getRequestHeaders().get("Content-type");
+ if(ctList == null || ctList.size() < 1){
+ return "N";
+ }
+ return ctList.get(0).trim().toLowerCase();
+ } catch (Exception e){
return "N";
}
- List ctList = httpExchange.getRequestHeaders().get("Content-type");
- if(ctList == null || ctList.size() < 1){
- return "N";
- }
- return ctList.get(0).trim().toLowerCase();
}
/**
diff --git a/mars-starter/pom.xml b/mars-starter/pom.xml
index 9f97c9b..9a729f9 100644
--- a/mars-starter/pom.xml
+++ b/mars-starter/pom.xml
@@ -6,7 +6,7 @@
Mars-Java
com.github.yuyenews
- 3.0.23
+ 3.0.25
mars-starter
diff --git a/pom.xml b/pom.xml
index 8ce3cd4..87db397 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.github.yuyenews
Mars-Java
- 3.0.23
+ 3.0.25
pom
mars-core