Sfoglia il codice sorgente

优化包结构,添加新的数据传输特性 动态传入对象类型转换器

NorthLan 7 anni fa
parent
commit
8b703700e3
18 ha cambiato i file con 138 aggiunte e 125 eliminazioni
  1. 59 50
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenArgumentResolver.kt
  2. 17 17
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenRequestBodyAdvice.kt
  3. 19 15
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenRequestConfigurer.kt
  4. 2 2
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/annotation/ZenRequestTypes.kt
  5. 7 7
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/DynamicFilterResponseBodyAdvice.kt
  6. 1 2
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/FilterConverter.kt
  7. 1 1
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenDynamicFilterMixin.kt
  8. 1 1
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJacksonJsonFilter.kt
  9. 1 1
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJsonConfigurer.kt
  10. 4 4
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJsonSerializer.kt
  11. 3 3
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/annotation/ZenResponseFilter.java
  12. 4 4
      zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/annotation/ZenResponseFilters.java
  13. 1 1
      zen-core/src/main/kotlin/com/gxzc/zen/common/dto/RequestDto.kt
  14. 4 4
      zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/SysDicController.kt
  15. 6 5
      zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/TestController.kt
  16. 5 5
      zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/UserController.kt
  17. 1 1
      zen-web/src/main/resources/application.yml
  18. 2 2
      zen-web/src/test/kotlin/com/gxzc/zen/cache/TestCacheController.kt

+ 59 - 50
zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenArgumentResolver.kt

@@ -1,50 +1,59 @@
-package com.gxzc.zen.common.config.request
-
-import com.fasterxml.jackson.databind.ObjectMapper
-import com.gxzc.zen.common.config.request.annotation.ZenRequestBody
-import org.apache.commons.io.IOUtils
-import org.springframework.core.MethodParameter
-import org.springframework.web.bind.support.WebDataBinderFactory
-import org.springframework.web.context.request.NativeWebRequest
-import org.springframework.web.method.support.HandlerMethodArgumentResolver
-import org.springframework.web.method.support.ModelAndViewContainer
-import java.io.IOException
-import java.nio.charset.Charset
-import javax.servlet.http.HttpServletRequest
-
-
-/**
- *
- * @author NorthLan
- * @date 2018/3/16
- * @url https://noahlan.com
- */
-
-class ZenArgumentResolver : HandlerMethodArgumentResolver {
-    init {
-        println("init zenar")
-    }
-
-    override fun supportsParameter(parameter: MethodParameter): Boolean {
-        return parameter.hasParameterAnnotation(ZenRequestBody::class.java)
-    }
-
-    override fun resolveArgument(parameter: MethodParameter, mavContainer: ModelAndViewContainer, webRequest: NativeWebRequest, binderFactory: WebDataBinderFactory): Any {
-        val body = getRequestBody(webRequest)
-        val annotation = parameter.getMethodAnnotation(ZenRequestBody::class.java)
-
-        val js = ObjectMapper().readTree(body)
-        val da = js[annotation.value[0].key]
-
-        return body
-    }
-
-    private fun getRequestBody(webRequest: NativeWebRequest): String {
-        val servletRequest = webRequest.getNativeRequest(HttpServletRequest::class.java)
-        return try {
-            IOUtils.toString(servletRequest.inputStream, Charset.forName("UTF-8"))
-        } catch (e: IOException) {
-            ""
-        }
-    }
-}
+//package com.gxzc.zen.common.config.request
+//
+//import com.fasterxml.jackson.databind.JsonNode
+//import com.fasterxml.jackson.databind.ObjectMapper
+//import com.gxzc.zen.common.config.request.annotation.ZenRequestTypes
+//import org.apache.commons.io.IOUtils
+//import org.springframework.core.MethodParameter
+//import org.springframework.web.bind.support.WebDataBinderFactory
+//import org.springframework.web.context.request.NativeWebRequest
+//import org.springframework.web.method.support.HandlerMethodArgumentResolver
+//import org.springframework.web.method.support.ModelAndViewContainer
+//import java.io.IOException
+//import java.nio.charset.Charset
+//import javax.servlet.http.HttpServletRequest
+//
+//
+///**
+// *
+// * @author NorthLan
+// * @date 2018/3/16
+// * @url https://noahlan.com
+// */
+//
+//class ZenArgumentResolver : HandlerMethodArgumentResolver {
+//
+//    private val mapper = ObjectMapper()
+//
+//    private val cacheNode = ThreadLocal<JsonNode>()
+//    private val latestMethodName = ThreadLocal<String>()
+//
+//    override fun supportsParameter(parameter: MethodParameter): Boolean {
+//        if (!parameter.hasParameterAnnotation(ZenRequestTypes::class.java)) {
+//            return false
+//        }
+//        val methodName = parameter.method.name
+//        if (latestMethodName.get().isNullOrEmpty()) {
+//            latestMethodName.set(methodName)
+//        } else {
+//            if (latestMethodName.get() == methodName) {
+//            } else {
+//                cacheNode.remove()
+//            }
+//        }
+//        return true
+//    }
+//
+//    override fun resolveArgument(parameter: MethodParameter, mavContainer: ModelAndViewContainer, webRequest: NativeWebRequest, binderFactory: WebDataBinderFactory): Any {
+//        val rootNode = try {
+//            cacheNode.get()
+//                    ?: mapper.readTree(webRequest.getNativeRequest(HttpServletRequest::class.java).inputStream)
+//        } catch (e: Exception) {
+//            null
+//        } ?: return Any()
+//        val annotation = parameter.getParameterAnnotation(ZenRequestTypes::class.java)
+//        val vaa = rootNode["data"].toString()
+//        val ret = mapper.readValue(vaa, annotation.value[0].value.java)
+//        return ret
+//    }
+//}

+ 17 - 17
zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenRequestBodyAdvice.kt

@@ -1,16 +1,17 @@
 package com.gxzc.zen.common.config.request
 
+import com.fasterxml.jackson.databind.DeserializationFeature
 import com.fasterxml.jackson.databind.ObjectMapper
-import com.gxzc.zen.common.config.request.annotation.ZenRequestBody
+import com.gxzc.zen.common.config.request.annotation.ZenRequestTypes
 import com.gxzc.zen.common.dto.RequestDto
-import org.springframework.beans.BeanUtils
+import com.gxzc.zen.common.exception.ZenException
+import com.gxzc.zen.common.exception.ZenExceptionEnum
 import org.springframework.core.MethodParameter
 import org.springframework.http.HttpInputMessage
 import org.springframework.http.converter.HttpMessageConverter
 import org.springframework.web.bind.annotation.ControllerAdvice
 import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter
 import java.lang.reflect.Type
-import kotlin.reflect.full.createInstance
 
 /**
  *
@@ -20,24 +21,23 @@ import kotlin.reflect.full.createInstance
  */
 @ControllerAdvice
 class ZenRequestBodyAdvice : RequestBodyAdviceAdapter() {
-    override fun supports(methodParameter: MethodParameter, targetType: Type, converterType: Class<out HttpMessageConverter<*>>): Boolean {
-        return methodParameter.hasParameterAnnotation(ZenRequestBody::class.java)
-    }
 
-    override fun beforeBodyRead(inputMessage: HttpInputMessage, parameter: MethodParameter, targetType: Type, converterType: Class<out HttpMessageConverter<*>>): HttpInputMessage {
-        return super.beforeBodyRead(inputMessage, parameter, targetType, converterType)
+    private val mapper = ObjectMapper().apply { configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) }
+
+    override fun supports(methodParameter: MethodParameter, targetType: Type, converterType: Class<out HttpMessageConverter<*>>): Boolean {
+        return methodParameter.hasMethodAnnotation(ZenRequestTypes::class.java) && methodParameter.parameterType == RequestDto::class.java
     }
 
     override fun afterBodyRead(body: Any, inputMessage: HttpInputMessage, parameter: MethodParameter, targetType: Type, converterType: Class<out HttpMessageConverter<*>>): Any {
-        val b = body as RequestDto
-        val d = b["data"]
-
-        val typ = parameter.getParameterAnnotation(ZenRequestBody::class.java).value[0].value
-//        val c = typ.createInstance()
-
-        val a = ObjectMapper().readValue(ObjectMapper().writeValueAsString(d), typ::class.java)
-
-
+        val annotation = parameter.getMethodAnnotation(ZenRequestTypes::class.java)
+        if (annotation.value.isEmpty()) {
+            return super.afterBodyRead(body, inputMessage, parameter, targetType, converterType)
+        }
+        val typedBody = body as RequestDto
+        annotation.value.forEach {
+            val data = typedBody[it.key] ?: throw ZenException(ZenExceptionEnum.REQUEST_NULL)
+            typedBody[it.key] = mapper.convertValue(data, it.value.java)
+        }
         return super.afterBodyRead(body, inputMessage, parameter, targetType, converterType)
     }
 

+ 19 - 15
zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/ZenRequestConfigurer.kt

@@ -1,15 +1,19 @@
-package com.gxzc.zen.common.config.request
-
-import org.springframework.context.annotation.Configuration
-import org.springframework.web.method.support.HandlerMethodArgumentResolver
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
-
-/**
- *
- * @author NorthLan
- * @date 2018/3/16
- * @url https://noahlan.com
- */
-@Configuration
-class ZenRequestConfigurer : WebMvcConfigurerAdapter() {
-}
+//package com.gxzc.zen.common.config.request
+//
+//import org.springframework.context.annotation.Configuration
+//import org.springframework.web.method.support.HandlerMethodArgumentResolver
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
+//
+///**
+// *
+// * @author NorthLan
+// * @date 2018/3/16
+// * @url https://noahlan.com
+// */
+//@Configuration
+//class ZenRequestConfigurer : WebMvcConfigurerAdapter() {
+//
+//    override fun addArgumentResolvers(argumentResolvers: MutableList<HandlerMethodArgumentResolver>) {
+////        argumentResolvers.add(ZenArgumentResolver())
+//    }
+//}

+ 2 - 2
zen-core/src/main/kotlin/com/gxzc/zen/common/config/request/annotation/ZenRequestTypes.kt

@@ -6,8 +6,8 @@ package com.gxzc.zen.common.config.request.annotation
  * @date 2018/3/16
  * @url https://noahlan.com
  */
-@Target(AnnotationTarget.VALUE_PARAMETER)
+@Target(AnnotationTarget.FUNCTION)
 @Retention(AnnotationRetention.RUNTIME)
 @MustBeDocumented
-annotation class ZenRequestBody(val value: Array<KVType> = []) {
+annotation class ZenRequestTypes(vararg val value: KVType) {
 }

+ 7 - 7
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/DynamicFilterResponseBodyAdvice.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/DynamicFilterResponseBodyAdvice.kt

@@ -1,8 +1,8 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
 import com.fasterxml.jackson.databind.ObjectMapper
-import com.gxzc.zen.common.config.json.annotation.ZenFilter
-import com.gxzc.zen.common.config.json.annotation.ZenFilters
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilter
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilters
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.beans.factory.annotation.Qualifier
 import org.springframework.core.MethodParameter
@@ -31,16 +31,16 @@ class DynamicFilterResponseBodyAdvice : AbstractMappingJacksonResponseBodyAdvice
     override fun supports(returnType: MethodParameter, converterType: Class<out HttpMessageConverter<*>>): Boolean {
         converter.objectMapper = ObjectMapper()
         return super.supports(returnType, converterType) &&
-                (returnType.getMethodAnnotation(ZenFilter::class.java) != null
-                        || returnType.getMethodAnnotation(ZenFilters::class.java) != null)
+                (returnType.getMethodAnnotation(ZenResponseFilter::class.java) != null
+                        || returnType.getMethodAnnotation(ZenResponseFilters::class.java) != null)
     }
 
     override fun beforeBodyWriteInternal(bodyContainer: MappingJacksonValue, contentType: MediaType, returnType: MethodParameter, request: ServerHttpRequest, response: ServerHttpResponse) {
         val jsonSerializer = ZenJsonSerializer()
         returnType.methodAnnotations.forEach {
-            if (it is ZenFilter) {
+            if (it is ZenResponseFilter) {
                 jsonSerializer.filter(it)
-            } else if (it is ZenFilters) {
+            } else if (it is ZenResponseFilters) {
                 it.value.forEach {
                     jsonSerializer.filter(it)
                 }

+ 1 - 2
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/FilterConverter.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/FilterConverter.kt

@@ -1,6 +1,5 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
-import com.fasterxml.jackson.databind.ObjectMapper
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
 
 /**

+ 1 - 1
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/ZenDynamicFilterMixin.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenDynamicFilterMixin.kt

@@ -1,4 +1,4 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
 import com.fasterxml.jackson.annotation.JsonFilter
 

+ 1 - 1
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/ZenJacksonJsonFilter.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJacksonJsonFilter.kt

@@ -1,4 +1,4 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
 import com.fasterxml.jackson.core.JsonGenerator
 import com.fasterxml.jackson.databind.SerializerProvider

+ 1 - 1
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/ZenJsonConfigurer.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJsonConfigurer.kt

@@ -1,4 +1,4 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
 import org.springframework.context.annotation.Bean
 import org.springframework.context.annotation.Configuration

+ 4 - 4
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/ZenJsonSerializer.kt → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/ZenJsonSerializer.kt

@@ -1,7 +1,7 @@
-package com.gxzc.zen.common.config.json
+package com.gxzc.zen.common.config.response
 
 import com.fasterxml.jackson.databind.ObjectMapper
-import com.gxzc.zen.common.config.json.annotation.ZenFilter
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilter
 import kotlin.reflect.KClass
 
 /**
@@ -27,8 +27,8 @@ class ZenJsonSerializer {
         mapper.addMixIn(clazz.java, ZenDynamicFilterMixin::class.java)
     }
 
-    fun filter(zenFilter: ZenFilter) {
-        this.filter(zenFilter.type, zenFilter.include, zenFilter.filter)
+    fun filter(zenResponseFilter: ZenResponseFilter) {
+        this.filter(zenResponseFilter.type, zenResponseFilter.include, zenResponseFilter.filter)
     }
 
 //    fun toJson(any: Any): String {

+ 3 - 3
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/annotation/ZenFilter.java → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/annotation/ZenResponseFilter.java

@@ -1,4 +1,4 @@
-package com.gxzc.zen.common.config.json.annotation;
+package com.gxzc.zen.common.config.response.annotation;
 
 import java.lang.annotation.*;
 
@@ -11,8 +11,8 @@ import java.lang.annotation.*;
  */
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
-@Repeatable(ZenFilters.class)
-public @interface ZenFilter {
+@Repeatable(ZenResponseFilters.class)
+public @interface ZenResponseFilter {
     Class<?> type();
 
     String[] include() default {};

+ 4 - 4
zen-core/src/main/kotlin/com/gxzc/zen/common/config/json/annotation/ZenFilters.java → zen-core/src/main/kotlin/com/gxzc/zen/common/config/response/annotation/ZenResponseFilters.java

@@ -1,9 +1,9 @@
-package com.gxzc.zen.common.config.json.annotation;
+package com.gxzc.zen.common.config.response.annotation;
 
 import java.lang.annotation.*;
 
 /**
- * ZenFilter 注解容器
+ * ZenResponseFilter 注解容器
  * 由于kotlin不支持repeatable 故暂使用java方式进行
  * @author NorthLan
  * @date 2018/3/13
@@ -11,6 +11,6 @@ import java.lang.annotation.*;
  */
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
-public @interface ZenFilters {
-    ZenFilter[] value();
+public @interface ZenResponseFilters {
+    ZenResponseFilter[] value();
 }

+ 1 - 1
zen-core/src/main/kotlin/com/gxzc/zen/common/dto/RequestDto.kt

@@ -1,7 +1,7 @@
 package com.gxzc.zen.common.dto
 
 /**
- * 请求 数据传输对象(直接使用LinkedHashMap是比较好的方式)
+ * 请求 数据传输对象
  * @author NorthLan
  * @date 2018/2/28
  * @url https://noahlan.com

+ 4 - 4
zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/SysDicController.kt

@@ -3,7 +3,7 @@ package com.gxzc.zen.web.sys.controller
 import com.gxzc.zen.api.sys.model.SysDic
 import com.gxzc.zen.api.sys.service.ISysDicService
 import com.gxzc.zen.common.base.BaseController
-import com.gxzc.zen.common.config.json.annotation.ZenFilter
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilter
 import com.gxzc.zen.common.dto.ResponseDto
 import com.gxzc.zen.common.exception.ZenException
 import com.gxzc.zen.common.exception.ZenExceptionEnum
@@ -29,7 +29,7 @@ class SysDicController : BaseController() {
     private lateinit var sysDicService: ISysDicService
 
     @GetMapping("/list")
-    @ZenFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
+    @ZenResponseFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
     fun getList(): ResponseEntity<*> {
         return ResponseEntity.ok(ResponseDto().apply {
             data = sysDicService.selectList()
@@ -37,7 +37,7 @@ class SysDicController : BaseController() {
     }
 
     @GetMapping("{key}")
-    @ZenFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
+    @ZenResponseFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
     fun get(@PathVariable key: String): ResponseEntity<*> {
         return ResponseEntity.ok(ResponseDto().apply {
             data = sysDicService.getListByKey(key)
@@ -45,7 +45,7 @@ class SysDicController : BaseController() {
     }
 
     @PutMapping("{key}")
-    @ZenFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
+    @ZenResponseFilter(type = SysDic::class, filter = ["createBy", "updateBy", "createTime", "updateTime"])
     fun putDic(@PathVariable key: String, @RequestBody requestDic: SysDic?): ResponseEntity<*> {
         if (requestDic == null) {
             throw ZenException(ZenExceptionEnum.REQUEST_NULL)

+ 6 - 5
zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/TestController.kt

@@ -3,11 +3,12 @@ package com.gxzc.zen.web.sys.controller
 import com.baomidou.kisso.annotation.Action
 import com.baomidou.kisso.annotation.Login
 import com.gxzc.zen.api.sys.model.SysDic
+import com.gxzc.zen.api.sys.model.SysUser
 import com.gxzc.zen.api.sys.service.ISysDicService
 import com.gxzc.zen.api.sys.service.ISysParamService
 import com.gxzc.zen.common.base.BaseController
 import com.gxzc.zen.common.config.request.annotation.KVType
-import com.gxzc.zen.common.config.request.annotation.ZenRequestBody
+import com.gxzc.zen.common.config.request.annotation.ZenRequestTypes
 import com.gxzc.zen.common.dto.RequestDto
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.web.bind.annotation.*
@@ -51,9 +52,9 @@ class TestController : BaseController() {
 
     @PostMapping("testInput")
     @Login(action = Action.Skip)
-    fun testInput(@RequestBody
-                  data: SysDic) {
-        var a = 2
-        a = 3
+    @ZenRequestTypes(
+            KVType("dataA", SysDic::class),
+            KVType("dataB", SysUser::class))
+    fun testInput(@RequestBody data: RequestDto) {
     }
 }

+ 5 - 5
zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/UserController.kt

@@ -5,8 +5,8 @@ import com.gxzc.zen.api.sys.model.SysUser
 import com.gxzc.zen.api.sys.service.ISysUserRoleService
 import com.gxzc.zen.api.sys.service.ISysUserService
 import com.gxzc.zen.common.base.BaseController
-import com.gxzc.zen.common.config.json.annotation.ZenFilter
-import com.gxzc.zen.common.config.json.annotation.ZenFilters
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilter
+import com.gxzc.zen.common.config.response.annotation.ZenResponseFilters
 import com.gxzc.zen.common.dto.RequestDto
 import com.gxzc.zen.common.dto.ResponseDto
 import com.gxzc.zen.common.exception.ZenException
@@ -38,9 +38,9 @@ class UserController : BaseController() {
 
 
     @GetMapping("/info")
-    @ZenFilters(
-            ZenFilter(type = SysUser::class, include = ["id", "enable", "account", "username", "position", "address", "staffNo", "remark"]),
-            ZenFilter(type = SysRole::class, include = ["id", "enable", "name", "code", "perms", "remark"])
+    @ZenResponseFilters(
+            ZenResponseFilter(type = SysUser::class, include = ["id", "enable", "account", "username", "position", "address", "staffNo", "remark"]),
+            ZenResponseFilter(type = SysRole::class, include = ["id", "enable", "name", "code", "perms", "remark"])
     )
     fun userInfo(): ResponseEntity<*> {
         val uid = SSOUtil.getCurUserId() ?: throw ZenException(ZenExceptionEnum.AUTH_NO_LOGIN)

+ 1 - 1
zen-web/src/main/resources/application.yml

@@ -10,7 +10,7 @@ zen:
 spring:
   profiles:
     active: dev
-    include: orm,mq,cache,umps,platform,job
+    include: orm-local,mq,cache,umps,platform,job
 #  redis:
 #    host: localhost
 #    port: 6379

+ 2 - 2
zen-web/src/test/kotlin/com/gxzc/zen/cache/TestCacheController.kt

@@ -16,8 +16,8 @@ class TestCacheController : BaseTestKt() {
     @Test
     fun loadUser() {
         mockMvc.perform(get("/")
-                .accept(MediaType.parseMediaType("application/json;charset=UTF-8")))
+                .accept(MediaType.parseMediaType("application/response;charset=UTF-8")))
                 .andExpect(status().isOk)
-                .andExpect(content().contentType("application/json"))
+                .andExpect(content().contentType("application/response"))
     }
 }