diff --git a/pom.xml b/pom.xml
index 2e18487..f067acc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
com.originaldreams
common
- 0.0.11
+ 0.0.12
diff --git a/src/main/java/com/originaldreams/proxycenter/controller/HttpController.java b/src/main/java/com/originaldreams/proxycenter/controller/HttpController.java
index f273221..6c13098 100644
--- a/src/main/java/com/originaldreams/proxycenter/controller/HttpController.java
+++ b/src/main/java/com/originaldreams/proxycenter/controller/HttpController.java
@@ -8,6 +8,7 @@
import com.originaldreams.common.util.StringUtils;
import com.originaldreams.common.util.ValidUserName;
import com.originaldreams.proxycenter.cache.CacheUtils;
+import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,6 +53,8 @@ public class HttpController {
*/
private final static String SPLIT_KEY_VALUE = ":";
+ private static final String NULL_STRING = "null";
+
private static final String API_PREFIX = "/api";
/**
@@ -430,14 +433,20 @@ private ResponseEntity getResponseFromException(HttpClientErrorException excepti
* @param response
*/
private void setCacheForLogon(ResponseEntity response){
+ String result = response.getBody();
+
try{
- String result = response.getBody();
+
JSONObject json = new JSONObject(result);
int success = json.getInt("success");
//登录不成功,不记录session
if(success != 0 ){
return;
}
+ Object data = json.get("data");
+ if (NULL_STRING.equals(data.toString())) {
+ return;
+ }
int userId = json.getInt("data");
logger.info("logonWithUserName userId:" + userId);
//将userId放入Session
@@ -467,9 +476,9 @@ private void setCacheForLogon(ResponseEntity response){
//角色名放入缓存
CacheUtils.userRoleMap.put(userId,roleName);
logger.info("logonWithUserName roleName :" + roleName + ", routerIds:" + routerIds);
- }catch (Exception e){
+ }catch (JSONException e){
e.printStackTrace();
- logger.error("setCacheForLogon" + e.getMessage());
+ logger.error("setCacheForLogon {}", e.getMessage());
}
diff --git a/src/main/java/com/originaldreams/proxycenter/exception/RestExceptionHandler.java b/src/main/java/com/originaldreams/proxycenter/exception/RestExceptionHandler.java
new file mode 100644
index 0000000..ef5cfe5
--- /dev/null
+++ b/src/main/java/com/originaldreams/proxycenter/exception/RestExceptionHandler.java
@@ -0,0 +1,102 @@
+package com.originaldreams.proxycenter.exception;
+
+
+import com.originaldreams.common.exception.BadRequestException;
+import com.originaldreams.common.exception.ResourceNotFoundException;
+import com.originaldreams.common.response.MyServiceResponse;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.converter.HttpMessageNotReadableException;
+import org.springframework.validation.BindException;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.MissingServletRequestParameterException;
+import org.springframework.web.bind.ServletRequestBindingException;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.context.request.WebRequest;
+import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
+
+/**
+ * 自定义异常
+ * @author magaofei
+ */
+@ControllerAdvice
+@RestController
+public class RestExceptionHandler extends ResponseEntityExceptionHandler {
+
+ private static final String NOT_FOUND_MESSAGE = "你访问的资源不存在";
+ private static final String BAD_REQUEST_MESSAGE = "参数错误";
+
+ private static ResponseEntity