From 604778b34a84b62208106d03f7c8dfaa28151024 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 25 七月 2023 16:36:06 +0800 Subject: [PATCH] WMTS代理服务,添加Rest风格代理 --- src/main/java/com/moon/server/controller/sys/ProxyController.java | 17 ++++++++++++++++- src/main/java/com/moon/server/entity/all/SettingData.java | 4 ++-- src/main/java/com/moon/server/service/sys/ProxyService.java | 2 +- src/main/java/com/moon/server/helper/HttpHelper.java | 7 +++++-- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/moon/server/controller/sys/ProxyController.java b/src/main/java/com/moon/server/controller/sys/ProxyController.java index b75d2e3..e16b427 100644 --- a/src/main/java/com/moon/server/controller/sys/ProxyController.java +++ b/src/main/java/com/moon/server/controller/sys/ProxyController.java @@ -39,7 +39,22 @@ @RequestMapping(value = {"/{token}/{id}/**"}) public void proxyUrl(@NotNull @PathVariable String token, @NotNull @PathVariable int id, HttpServletRequest req, HttpServletResponse res) { try { - proxyService.proxyUrl(token, id, req, res); + proxyService.proxyUrl(token, id, false, req, res); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + WebHelper.writeStr2Page(res, ex.getMessage()); + } + } + + @ApiOperation(value = "URL浠g悊", notes = "URL浠g悊") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "浠ょ墝", dataType = "String", paramType = "path", required = true, example = "1eb2ea8f-5cfd-4e6c-95c9-17ab0f7bce71"), + @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "path", required = true, example = "1"), + }) + @RequestMapping(value = {"/rest/{token}/{id}/**"}) + public void proxyRestUrl(@NotNull @PathVariable String token, @NotNull @PathVariable int id, HttpServletRequest req, HttpServletResponse res) { + try { + proxyService.proxyUrl(token, id, true, req, res); } catch (Exception ex) { log.error(ex.getMessage(), ex); WebHelper.writeStr2Page(res, ex.getMessage()); diff --git a/src/main/java/com/moon/server/entity/all/SettingData.java b/src/main/java/com/moon/server/entity/all/SettingData.java index 2e03a73..330d916 100644 --- a/src/main/java/com/moon/server/entity/all/SettingData.java +++ b/src/main/java/com/moon/server/entity/all/SettingData.java @@ -48,10 +48,10 @@ /** * 鐢ㄦ埛璁块棶閲� */ - public static int MAX_USER_LOGIN; + public static int MAX_USER_LOGIN = 1000; /** * 鏈嶅姟涓婇檺 */ - public static int MAX_SERVERS; + public static int MAX_SERVERS = 100000; } diff --git a/src/main/java/com/moon/server/helper/HttpHelper.java b/src/main/java/com/moon/server/helper/HttpHelper.java index 1900668..dd45f13 100644 --- a/src/main/java/com/moon/server/helper/HttpHelper.java +++ b/src/main/java/com/moon/server/helper/HttpHelper.java @@ -320,9 +320,12 @@ proxyUrl = request.getRequestURL().substring(0, request.getRequestURL().indexOf(proxyUrl) + proxyUrl.length()); str = str.replace(strs[0], proxyUrl); + if (!StringHelper.isEmpty(strs[1])) { + str = str.replace("?" + strs[1], "").replace("&" + strs[1], ""); + } + if (StaticData.THREE == res.getFirm() && str.contains(StaticData.REST_LAYER)) { - - + str = str.replace(strs[0].replace("/wmts/layer/", StaticData.REST_LAYER), proxyUrl.replace("/proxy/", "/proxy/rest/")); } } diff --git a/src/main/java/com/moon/server/service/sys/ProxyService.java b/src/main/java/com/moon/server/service/sys/ProxyService.java index 62ad985..f5c0de2 100644 --- a/src/main/java/com/moon/server/service/sys/ProxyService.java +++ b/src/main/java/com/moon/server/service/sys/ProxyService.java @@ -47,7 +47,7 @@ /** * URL浠g悊 */ - public void proxyUrl(String token, int resId, HttpServletRequest req, HttpServletResponse res) throws Exception { + public void proxyUrl(String token, int resId, boolean isRest, HttpServletRequest req, HttpServletResponse res) throws Exception { // 3.鑾峰彇鐢ㄦ埛 UserEntity ue = getUser(req, res, token); if (null == ue) { -- Gitblit v1.9.3