From fb0d78ea7a1a5cbae4b2adf7a1a8af9262193316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?= <806783409@qq.com> Date: Sat, 2 Feb 2019 21:52:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E8=A7=84=E8=8C=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MgDocumentController.java | 4 + .../controller/MgOpenDocController.java | 19 +- .../configuration/SpringContextUtil.java | 179 +++++++++--------- .../framework/service/MgStorageService.java | 144 +++++++------- 4 files changed, 171 insertions(+), 175 deletions(-) diff --git a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgDocumentController.java b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgDocumentController.java index 662ff06a..c453e161 100644 --- a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgDocumentController.java +++ b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgDocumentController.java @@ -288,6 +288,9 @@ public class MgDocumentController { * @author 暮光:城中城 * @since 2018年8月21日 * @param resourcesUrl swagger-resources地址 + * @param oldUrl 老地址 + * @param openVisit 是否开放展示 + * @param rewriteDomainUrl 重写域名地址 * @return 添加结果 */ @PostMapping(value = "/addSwaggerResources") @@ -388,6 +391,7 @@ public class MgDocumentController { * * @author 暮光:城中城 * @since 2018年8月21日 + * @return Location列表 */ @PostMapping(value = "/getLocationList") public ResponseJson> getLocationList() { diff --git a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgOpenDocController.java b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgOpenDocController.java index c6e86a19..2095fdfc 100644 --- a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgOpenDocController.java +++ b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/controller/MgOpenDocController.java @@ -4,15 +4,16 @@ import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.zyplayer.doc.core.json.DocResponseJson; -import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.swagger.controller.vo.LocationListVo; -import com.zyplayer.doc.swagger.controller.vo.SwaggerResourcesInfoVo; import com.zyplayer.doc.swagger.framework.constant.StorageKeys; import com.zyplayer.doc.swagger.framework.service.MgStorageService; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -39,18 +40,6 @@ public class MgOpenDocController { return DocResponseJson.ok(); } - /** - * @author 暮光:城中城 - * @since 2019年1月27日 - */ - @ResponseBody - @PostMapping(value = "/{source}") - public ResponseJson> resourcesList(@PathVariable("source") String source) { - - return DocResponseJson.ok(); - } - - /** * 获取所有的文档 * @author 暮光:城中城 diff --git a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/configuration/SpringContextUtil.java b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/configuration/SpringContextUtil.java index d7054a4d..abc91b9a 100644 --- a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/configuration/SpringContextUtil.java +++ b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/configuration/SpringContextUtil.java @@ -1,89 +1,90 @@ -package com.zyplayer.doc.swagger.framework.configuration; - -import org.springframework.aop.support.AopUtils; -import org.springframework.beans.BeansException; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.stereotype.Component; - -import java.lang.annotation.Annotation; -import java.util.Map; - -/** - * context工具类 - */ -@Component -public class SpringContextUtil implements ApplicationContextAware { - - public static ApplicationContext context; - private static EnableSwaggerMgUi ENABLE_SWAGGER_MG_UI; - - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - context = applicationContext; - } - - public static ApplicationContext getApplicationContext() { - return context; - } - - public static T getBean(Class clz) { - return context.getBean(clz); - } - - public static Object getBean(String string) { - return getApplicationContext().getBean(string); - } - - /** - * 获取类 - * @param annotationType annotation - * @return 类对象 - */ - public static Object getBeanWithAnnotation(Class annotationType) { - if (context == null) { - return null; - } - Map beansWithAnnotation = context.getBeansWithAnnotation(annotationType); - if(beansWithAnnotation != null && beansWithAnnotation.size() > 0) { - for (Object element : beansWithAnnotation.values()) { - return element; - } - } - return null; - } - - /** - * 获取EnableSwaggerMgUi - * @date 2019/1/29 12:58 - **/ - public static EnableSwaggerMgUi getEnableSwaggerMgUi() { - if (ENABLE_SWAGGER_MG_UI != null) { - return ENABLE_SWAGGER_MG_UI; - } - Object annotation = SpringContextUtil.getBeanWithAnnotation(EnableSwaggerMgUi.class); - if (annotation != null) { - EnableSwaggerMgUi swaggerMgUi = annotation.getClass().getAnnotation(EnableSwaggerMgUi.class); - if (swaggerMgUi == null) { - // 直接通过superclass去找 - Class superclass = annotation.getClass().getSuperclass(); - if (superclass != null) { - swaggerMgUi = superclass.getAnnotation(EnableSwaggerMgUi.class); - } - } - if (swaggerMgUi == null) { - // 再通过AopUtils去找 - Class targetClass = AopUtils.getTargetClass(annotation); - if (targetClass != null) { - swaggerMgUi = targetClass.getAnnotation(EnableSwaggerMgUi.class); - } - } - if (swaggerMgUi != null) { - ENABLE_SWAGGER_MG_UI = swaggerMgUi; - } - return swaggerMgUi; - } - return null; - } -} - +package com.zyplayer.doc.swagger.framework.configuration; + +import org.springframework.aop.support.AopUtils; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +import java.lang.annotation.Annotation; +import java.util.Map; + +/** + * context工具类 + */ +@Component +public class SpringContextUtil implements ApplicationContextAware { + + public static ApplicationContext context; + private static EnableSwaggerMgUi ENABLE_SWAGGER_MG_UI; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + context = applicationContext; + } + + public static ApplicationContext getApplicationContext() { + return context; + } + + public static T getBean(Class clz) { + return context.getBean(clz); + } + + public static Object getBean(String string) { + return getApplicationContext().getBean(string); + } + + /** + * 获取类 + * @param annotationType annotation + * @return 类对象 + */ + public static Object getBeanWithAnnotation(Class annotationType) { + if (context == null) { + return null; + } + Map beansWithAnnotation = context.getBeansWithAnnotation(annotationType); + if(beansWithAnnotation != null && beansWithAnnotation.size() > 0) { + for (Object element : beansWithAnnotation.values()) { + return element; + } + } + return null; + } + + /** + * 获取EnableSwaggerMgUi + * @since 2019/1/29 12:58 + * @return EnableSwaggerMgUi注解对象 + **/ + public static EnableSwaggerMgUi getEnableSwaggerMgUi() { + if (ENABLE_SWAGGER_MG_UI != null) { + return ENABLE_SWAGGER_MG_UI; + } + Object annotation = SpringContextUtil.getBeanWithAnnotation(EnableSwaggerMgUi.class); + if (annotation != null) { + EnableSwaggerMgUi swaggerMgUi = annotation.getClass().getAnnotation(EnableSwaggerMgUi.class); + if (swaggerMgUi == null) { + // 直接通过superclass去找 + Class superclass = annotation.getClass().getSuperclass(); + if (superclass != null) { + swaggerMgUi = superclass.getAnnotation(EnableSwaggerMgUi.class); + } + } + if (swaggerMgUi == null) { + // 再通过AopUtils去找 + Class targetClass = AopUtils.getTargetClass(annotation); + if (targetClass != null) { + swaggerMgUi = targetClass.getAnnotation(EnableSwaggerMgUi.class); + } + } + if (swaggerMgUi != null) { + ENABLE_SWAGGER_MG_UI = swaggerMgUi; + } + return swaggerMgUi; + } + return null; + } +} + diff --git a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/service/MgStorageService.java b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/service/MgStorageService.java index d088b4bb..4d7bc6a8 100644 --- a/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/service/MgStorageService.java +++ b/zyplayer-doc-swagger/src/main/java/com/zyplayer/doc/swagger/framework/service/MgStorageService.java @@ -1,71 +1,73 @@ -package com.zyplayer.doc.swagger.framework.service; - -import com.zyplayer.doc.swagger.framework.constant.StorageKeys; -import org.apache.commons.lang.math.NumberUtils; - -import java.util.List; - -/** - * 实现此类才能使用服务器端的存贮功能 - * @author 暮光:城中城 - * @since 2018年8月19日 - */ -public interface MgStorageService { - - /** - * 获取存储的值 - * @author 暮光:城中城 - * @since 2018年8月19日 - * @param key 参数 - * @return 值 - */ - String get(String key); - - /** - * 模糊获取存储的值 - * @author 暮光:城中城 - * @since 2018年8月19日 - * @param key 参数 - * @param value 值 - * @return 值 - */ - List like(String key, String value); - - /** - * 存储数据 - * @author 暮光:城中城 - * @since 2018年8月19日 - * @param key 参数 - * @param value 值 - */ - void put(String key, String value); - - /** - * 删除数据 - * @author 暮光:城中城 - * @since 2018年8月19日 - * @param key 参数 - */ - void remove(String key); - - /** - * 获取代理请求白名单 - * @author 暮光:城中城 - * @since 2018年8月19日 - */ - List getProxyRequestWhiteDomain(); - - /** - * 获取一个自增的ID - * @author 暮光:城中城 - * @since 2019年1月27日 - */ - default Integer getNextId() { - synchronized (StorageKeys.SWAGGER_ID_WORKER) { - String idWorker = this.get(StorageKeys.SWAGGER_ID_WORKER); - Integer nextId = NumberUtils.toInt(idWorker, 1); - this.put(StorageKeys.SWAGGER_ID_WORKER, String.valueOf(nextId + 1)); - return nextId; - } - } -} +package com.zyplayer.doc.swagger.framework.service; + +import com.zyplayer.doc.swagger.framework.constant.StorageKeys; +import org.apache.commons.lang.math.NumberUtils; + +import java.util.List; + +/** + * 实现此类才能使用服务器端的存贮功能 + * @author 暮光:城中城 + * @since 2018年8月19日 + */ +public interface MgStorageService { + + /** + * 获取存储的值 + * @author 暮光:城中城 + * @since 2018年8月19日 + * @param key 参数 + * @return 值 + */ + String get(String key); + + /** + * 模糊获取存储的值 + * @author 暮光:城中城 + * @since 2018年8月19日 + * @param key 参数 + * @param value 值 + * @return 值 + */ + List like(String key, String value); + + /** + * 存储数据 + * @author 暮光:城中城 + * @since 2018年8月19日 + * @param key 参数 + * @param value 值 + */ + void put(String key, String value); + + /** + * 删除数据 + * @author 暮光:城中城 + * @since 2018年8月19日 + * @param key 参数 + */ + void remove(String key); + + /** + * 获取代理请求白名单 + * @author 暮光:城中城 + * @since 2018年8月19日 + * @return 白名单列表 + */ + List getProxyRequestWhiteDomain(); + + /** + * 获取一个自增的ID + * @author 暮光:城中城 + * @since 2019年1月27日 + * @return 自增ID + */ + default Integer getNextId() { + synchronized (StorageKeys.SWAGGER_ID_WORKER) { + String idWorker = this.get(StorageKeys.SWAGGER_ID_WORKER); + Integer nextId = NumberUtils.toInt(idWorker, 1); + this.put(StorageKeys.SWAGGER_ID_WORKER, String.valueOf(nextId + 1)); + return nextId; + } + } +}