From 5b169d21516103e74c5c51a68f9b9fcd21a04e36 Mon Sep 17 00:00:00 2001 From: jtfeng Date: Thu, 29 Mar 2018 14:53:43 +0800 Subject: [PATCH 1/2] update dependencies library version --- pom.xml | 6 +- ...onfigurer.java => MyWebMvcConfigurer.java} | 100 ++++++++---------- 2 files changed, 49 insertions(+), 57 deletions(-) rename src/main/java/com/company/project/configurer/{WebMvcConfigurer.java => MyWebMvcConfigurer.java} (93%) diff --git a/pom.xml b/pom.xml index ed74bf412..64658a7bd 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ org.springframework.boot spring-boot-starter-parent - 1.5.9.RELEASE + 2.0.0.RELEASE @@ -75,7 +75,7 @@ com.github.pagehelper pagehelper - 4.2.1 + 5.1.2 @@ -87,7 +87,7 @@ com.alibaba druid-spring-boot-starter - 1.1.6 + 1.1.9 diff --git a/src/main/java/com/company/project/configurer/WebMvcConfigurer.java b/src/main/java/com/company/project/configurer/MyWebMvcConfigurer.java similarity index 93% rename from src/main/java/com/company/project/configurer/WebMvcConfigurer.java rename to src/main/java/com/company/project/configurer/MyWebMvcConfigurer.java index b1a3cfdd0..aa19f0aed 100644 --- a/src/main/java/com/company/project/configurer/WebMvcConfigurer.java +++ b/src/main/java/com/company/project/configurer/MyWebMvcConfigurer.java @@ -1,20 +1,9 @@ package com.company.project.configurer; -import java.io.IOException; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; - import com.company.project.core.Result; import com.company.project.core.ResultCode; import com.company.project.core.ServiceException; @@ -31,20 +20,57 @@ import org.springframework.web.servlet.NoHandlerFoundException; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -/** - * Spring MVC 配置 - */ +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + @Configuration -public class WebMvcConfigurer extends WebMvcConfigurerAdapter { +public class MyWebMvcConfigurer implements WebMvcConfigurer { - private final Logger logger = LoggerFactory.getLogger(WebMvcConfigurer.class); + private final Logger logger = LoggerFactory.getLogger(MyWebMvcConfigurer.class); @Value("${spring.profiles.active}") private String env;//当前激活的配置文件 - //使用阿里 FastJson 作为JSON MessageConverter + //添加拦截器 + @Override + public void addInterceptors(InterceptorRegistry registry) { + //接口签名认证拦截器,该签名认证比较简单,实际项目中可以使用Json Web Token或其他更好的方式替代。 + if (!"dev".equals(env)) { //开发环境忽略签名认证 + registry.addInterceptor(new HandlerInterceptorAdapter() { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + //验证签名 + boolean pass = validateSign(request); + if (pass) { + return true; + } else { + logger.warn("签名认证失败,请求接口:{},请求IP:{},请求参数:{}", + request.getRequestURI(), getIpAddress(request), JSON.toJSONString(request.getParameterMap())); + + Result result = new Result(); + result.setCode(ResultCode.UNAUTHORIZED).setMessage("签名认证失败"); + responseResult(response, result); + return false; + } + } + }); + } + } + + //解决跨域问题 + @Override + public void addCorsMappings(CorsRegistry registry) { + //registry.addMapping("/**"); + } + @Override public void configureMessageConverters(List> converters) { FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); @@ -57,11 +83,9 @@ public void configureMessageConverters(List> converters) converters.add(converter); } - - //统一异常处理 @Override - public void configureHandlerExceptionResolvers(List exceptionResolvers) { - exceptionResolvers.add(new HandlerExceptionResolver() { + public void configureHandlerExceptionResolvers(List resolvers) { + resolvers.add(new HandlerExceptionResolver() { public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception e) { Result result = new Result(); if (e instanceof ServiceException) {//业务失败的异常,如“账号或密码错误” @@ -93,38 +117,6 @@ public ModelAndView resolveException(HttpServletRequest request, HttpServletResp }); } - //解决跨域问题 - @Override - public void addCorsMappings(CorsRegistry registry) { - //registry.addMapping("/**"); - } - - //添加拦截器 - @Override - public void addInterceptors(InterceptorRegistry registry) { - //接口签名认证拦截器,该签名认证比较简单,实际项目中可以使用Json Web Token或其他更好的方式替代。 - if (!"dev".equals(env)) { //开发环境忽略签名认证 - registry.addInterceptor(new HandlerInterceptorAdapter() { - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - //验证签名 - boolean pass = validateSign(request); - if (pass) { - return true; - } else { - logger.warn("签名认证失败,请求接口:{},请求IP:{},请求参数:{}", - request.getRequestURI(), getIpAddress(request), JSON.toJSONString(request.getParameterMap())); - - Result result = new Result(); - result.setCode(ResultCode.UNAUTHORIZED).setMessage("签名认证失败"); - responseResult(response, result); - return false; - } - } - }); - } - } - private void responseResult(HttpServletResponse response, Result result) { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-type", "application/json;charset=UTF-8"); From 21a7532e230929c1e0541eb790ac67e464e12951 Mon Sep 17 00:00:00 2001 From: jtfeng Date: Thu, 29 Mar 2018 15:17:27 +0800 Subject: [PATCH 2/2] fix cannot convert instance bug --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 64658a7bd..de537ef34 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ com.github.pagehelper pagehelper - 5.1.2 + 4.2.1 @@ -141,4 +141,4 @@ - \ No newline at end of file +