Commit fdcc0c76 authored by duanruiming's avatar duanruiming

解决包冲突问题

parent 96ded032
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
<!-- 依赖版本 --> <!-- 依赖版本 -->
<properties> <properties>
<el.version>3.0.0</el.version>
<spring-cloud.version>2021.0.0</spring-cloud.version> <spring-cloud.version>2021.0.0</spring-cloud.version>
<openfeign-version>3.1.0</openfeign-version>
<spring-cloud-alibaba.version>0.2.1.RELEASE</spring-cloud-alibaba.version> <spring-cloud-alibaba.version>0.2.1.RELEASE</spring-cloud-alibaba.version>
<druid.version>1.1.5</druid.version> <druid.version>1.1.5</druid.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>2.9.2</swagger.version>
...@@ -81,6 +83,26 @@ ...@@ -81,6 +83,26 @@
<artifactId>hibernate-validator</artifactId> <artifactId>hibernate-validator</artifactId>
<version>${validator-version}</version> <version>${validator-version}</version>
</dependency> </dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>${el.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>${el.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.validation</groupId>-->
<!-- <artifactId>validation-api</artifactId>-->
<!-- <version>2.0.1.Final</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>${openfeign-version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId> <artifactId>spring-cloud-dependencies</artifactId>
......
...@@ -28,19 +28,15 @@ ...@@ -28,19 +28,15 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>net.wanji</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>signal-feign-service</artifactId>
<version>0.0.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.wanji</groupId> <groupId>net.wanji</groupId>
<artifactId>signal-feign-service</artifactId> <artifactId>wj-common</artifactId>
<version>0.0.2</version> <version>0.0.2</version>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>net.wanji</groupId>-->
<!-- <artifactId>wj-common</artifactId>-->
<!-- <version>0.2.1</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId> <artifactId>spring-boot-starter-websocket</artifactId>
...@@ -102,6 +98,10 @@ ...@@ -102,6 +98,10 @@
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId> <artifactId>hibernate-validator</artifactId>
</dependency> </dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</dependency>
<!-- apache commons--> <!-- apache commons-->
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
......
...@@ -155,7 +155,10 @@ ...@@ -155,7 +155,10 @@
<dependency> <dependency>
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId> <artifactId>hibernate-validator</artifactId>
<version>6.0.1.Final</version> </dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
......
package net.wanji.utc.handler;
import lombok.extern.slf4j.Slf4j;
import net.wanji.utc.common.Result;
import net.wanji.utc.common.exception.ControlException;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
import static net.wanji.utc.common.ResultEnum.INTERNAL_SERVER_ERROR;
/**
* @author wuxiaokai
* @date 2022/11/21 9:06:40
*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
* 处理自定义的业务异常
*/
@ExceptionHandler(value = ControlException.class)
public Result<String> exceptionHandler(HttpServletRequest req, ControlException e) {
log.error("发生业务异常:", e);
return Result.error(e.getErrorCode(), e.getErrorMsg());
}
/**
* 处理空指针的异常
*/
@ExceptionHandler(value = NullPointerException.class)
public Result<String> exceptionHandler(HttpServletRequest req, NullPointerException e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
StackTraceElement element = e.getStackTrace()[0];
errorMessage = element.getClassName() + " " + element.getLineNumber();
}
log.error("发生空指针异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "发生空指针异常!位置在:" + errorMessage);
}
/**
* 参数异常
*/
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public Result<String> exceptionHandler(HttpServletRequest req, MethodArgumentNotValidException e) {
FieldError fieldError = e.getBindingResult().getFieldError();
String errorMessage = INTERNAL_SERVER_ERROR.getResultMsg();
if (fieldError != null) {
errorMessage = fieldError.getDefaultMessage();
}
log.error("发生参数异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "发生参数异常!原因是:" + errorMessage);
}
/**
* 处理其他异常
*/
@ExceptionHandler(value = Exception.class)
public Result<String> exceptionHandler(HttpServletRequest req, Exception e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
errorMessage = e.getMessage();
}
log.error("未知异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "未知异常!原因是:" + errorMessage);
}
}
...@@ -12,38 +12,31 @@ ...@@ -12,38 +12,31 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>net.wanji</groupId> <groupId>net.wanji</groupId>
<artifactId>wj-common</artifactId> <artifactId>wj-common</artifactId>
<version>1.0.0</version> <version>0.0.2</version>
<name>wj-common</name> <name>wj-common</name>
<description>wj-common</description> <description>wj-common</description>
<!-- 依赖版本 --> <!-- 依赖版本 -->
<properties> <properties>
<hibernate.version>6.0.14.Final</hibernate.version>
<el.version>3.0.0</el.version>
<ignite.version>2.8.1</ignite.version> <ignite.version>2.8.1</ignite.version>
<mail.version>1.5.2</mail.version> <mail.version>1.5.2</mail.version>
<fastjson.version>1.2.56</fastjson.version> <fastjson.version>1.2.56</fastjson.version>
<dom4j.version>1.6.1</dom4j.version> <dom4j.version>1.6.1</dom4j.version>
<ws.rs.version>2.1.1</ws.rs.version> <ws.rs.version>2.1.1</ws.rs.version>
<dubbo.version>2.1.1.RELEASE</dubbo.version> <dubbo.version>2.2.2.RELEASE</dubbo.version>
<swagger.version>2.8.0</swagger.version> <swagger.version>2.8.0</swagger.version>
</properties> </properties>
<dependencies> <dependencies>
<!--rest参数校验 start --> <!--rest参数校验 start -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId> <artifactId>hibernate-validator</artifactId>
<version>${hibernate.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.el</groupId> <groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId> <artifactId>javax.el-api</artifactId>
<version>${el.version}</version>
</dependency> </dependency>
<!--rest参数校验 end --> <!--rest参数校验 end -->
<dependency> <dependency>
...@@ -175,27 +168,33 @@ ...@@ -175,27 +168,33 @@
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId> <artifactId>log4j-core</artifactId>
</dependency> </dependency>
<!-- <dependency>--> <dependency>
<!-- <groupId>org.apache.logging.log4j</groupId>--> <groupId>org.apache.logging.log4j</groupId>
<!-- <artifactId>log4j-api</artifactId>--> <artifactId>log4j-api</artifactId>
<!-- </dependency>--> </dependency>
<dependency> <dependency>
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId> <artifactId>log4j-jul</artifactId>
</dependency> </dependency>
<!--<dependency>--> <dependency>
<!--<groupId>org.apache.logging.log4j</groupId>--> <groupId>org.apache.logging.log4j</groupId>
<!--<artifactId>log4j-slf4j-impl</artifactId>--> <artifactId>log4j-slf4j-impl</artifactId>
<!--</dependency>--> </dependency>
<!-- <dependency>--> <dependency>
<!-- <groupId>org.springframework.cloud</groupId>--> <groupId>org.springframework.cloud</groupId>
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>--> <artifactId>spring-cloud-starter-openfeign</artifactId>
<!-- </dependency>--> </dependency>
<!--dubbo依赖,各个微服务都有--> <!--dubbo依赖,各个微服务都有-->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId> <artifactId>spring-cloud-starter-dubbo</artifactId>
<version>${dubbo.version}</version> <version>${dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<!--spring start--> <!--spring start-->
<dependency> <dependency>
...@@ -254,6 +253,12 @@ ...@@ -254,6 +253,12 @@
<groupId>com.alipay.jarslink</groupId> <groupId>com.alipay.jarslink</groupId>
<artifactId>jarslink-api</artifactId> <artifactId>jarslink-api</artifactId>
<version>1.6.1.20180301</version> <version>1.6.1.20180301</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
<!-- swagger --> <!-- swagger -->
<dependency> <dependency>
......
package net.wanji.web.handler; package net.wanji.common.framework.exceptionhandler;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.web.common.exception.CrossException;
import org.springframework.validation.FieldError; import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
...@@ -10,24 +9,11 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; ...@@ -10,24 +9,11 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import static net.wanji.web.common.enums.ResultEnum.INTERNAL_SERVER_ERROR;
/**
* @author wuxiaokai
* @date 2022/11/21 9:06:40
*/
@RestControllerAdvice @RestControllerAdvice
@Slf4j @Slf4j
public class GlobalExceptionHandler { public class GlobalExceptionHandler {
/**
* 处理自定义的业务异常
*/
@ExceptionHandler(value = CrossException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, CrossException e) {
log.error("发生业务异常:", e);
return JsonViewObject.newInstance().fail("发生业务异常!原因是:{}" + e.getErrorMsg());
}
/** /**
* 处理空指针的异常 * 处理空指针的异常
...@@ -52,7 +38,7 @@ public class GlobalExceptionHandler { ...@@ -52,7 +38,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = MethodArgumentNotValidException.class) @ExceptionHandler(value = MethodArgumentNotValidException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, MethodArgumentNotValidException e) { public JsonViewObject exceptionHandler(HttpServletRequest req, MethodArgumentNotValidException e) {
FieldError fieldError = e.getBindingResult().getFieldError(); FieldError fieldError = e.getBindingResult().getFieldError();
String errorMessage = INTERNAL_SERVER_ERROR.getResultMsg(); String errorMessage = "服务器内部错误";
if (fieldError != null) { if (fieldError != null) {
errorMessage = fieldError.getDefaultMessage(); errorMessage = fieldError.getDefaultMessage();
} }
......
package net.wanji.common.framework.rest; package net.wanji.common.framework.rest;
import lombok.Data;
import net.wanji.common.framework.Constants; import net.wanji.common.framework.Constants;
import net.wanji.common.framework.HttpCode; import net.wanji.common.framework.HttpCode;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
/** /**
* restful对外的JSON 对象封装 * restful对外的JSON 对象封装
*
* @author mapabc
*/ */
//没有get set方法会导致feign 接口调用时,无法使用JsonViewObject作为返回值
@Data @Data
public class JsonViewObject implements Serializable { public class JsonViewObject implements Serializable {
...@@ -79,7 +76,7 @@ public class JsonViewObject implements Serializable { ...@@ -79,7 +76,7 @@ public class JsonViewObject implements Serializable {
this.message = message; this.message = message;
this.status = status; this.status = status;
//增加服务返回状态码,后期待完善 //增加服务返回状态码,后期待完善
this.code=(status.equals(Constants.JsonView.STATUS_SUCCESS) ? HttpCode.SUCCESS.value():HttpCode.INTERNAL_SERVER_ERROR.value()); this.code = (status.equals(Constants.JsonView.STATUS_SUCCESS) ? HttpCode.SUCCESS.value() : HttpCode.INTERNAL_SERVER_ERROR.value());
return this; return this;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment