From f9a663d560bfa08b67e10f0c404b96c18031e147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=A6=82?= <8775@163.com> Date: Tue, 4 Feb 2025 12:12:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Erestful=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/impl/GoodsControllerImpl.java | 19 +++++++++++++++++-- .../rest/examplerest/rest/vo/GoodsVO.java | 2 ++ .../service/impl/ParamExecutorImpl.java | 1 + .../support/context/DefaultWebContext.java | 1 + .../gitee/sop/support/context/WebContext.java | 5 +++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/impl/GoodsControllerImpl.java b/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/impl/GoodsControllerImpl.java index 0057b609..b5072c57 100644 --- a/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/impl/GoodsControllerImpl.java +++ b/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/impl/GoodsControllerImpl.java @@ -6,6 +6,8 @@ import com.sop.example.rest.examplerest.rest.GoodsController; import com.sop.example.rest.examplerest.rest.vo.GoodsVO; import org.apache.dubbo.config.annotation.DubboService; +import java.util.ArrayList; +import java.util.List; import java.util.Map; @@ -16,13 +18,26 @@ import java.util.Map; public class GoodsControllerImpl implements GoodsController { @Override public GoodsVO getById(Integer id) { + WebContext webContext = WebContext.current(); GoodsVO goodsVO = new GoodsVO(); goodsVO.setId(id); goodsVO.setName("冰箱"); - Map headers = WebContext.current().getHeaders(); + List list = new ArrayList<>(); + + list.add("realIp:" + webContext.getRealIp()); + + Map headers = webContext.getHeaders(); String token = headers.get("token"); - System.out.println(token); + list.add("token:" + token); + + String remoteAddr = webContext.getRemoteAddr(); + list.add("remoteAddr:" + remoteAddr); + + String idValue = webContext.getParameter("id"); + list.add("id:" + idValue); + + goodsVO.setRemark(list.toString()); return goodsVO; } } diff --git a/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/vo/GoodsVO.java b/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/vo/GoodsVO.java index e5b43551..9864d5f3 100644 --- a/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/vo/GoodsVO.java +++ b/sop-example/example-rest/src/main/java/com/sop/example/rest/examplerest/rest/vo/GoodsVO.java @@ -12,4 +12,6 @@ public class GoodsVO { private String name; + private String remark; + } diff --git a/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/ParamExecutorImpl.java b/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/ParamExecutorImpl.java index 3a47cfd4..1c3c67cb 100755 --- a/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/ParamExecutorImpl.java +++ b/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/ParamExecutorImpl.java @@ -119,6 +119,7 @@ public class ParamExecutorImpl implements ParamExecutor(request.getParameterMap())); + defaultWebContext.setRealIp(RequestUtil.getIP(request)); return defaultWebContext; } diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/DefaultWebContext.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/DefaultWebContext.java index af3149c3..e80dd3a8 100644 --- a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/DefaultWebContext.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/DefaultWebContext.java @@ -33,6 +33,7 @@ public class DefaultWebContext extends WebContext implements Serializable { private Locale locale; private Map headers; private Map paramtreMap; + private String realIp; @Override public String getParameter(String name) { diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/WebContext.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/WebContext.java index cd05c2c8..d86d491c 100644 --- a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/WebContext.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/WebContext.java @@ -58,6 +58,11 @@ public abstract class WebContext { */ public abstract Map getHeaders(); + /** + * 获取真实ip地址 + */ + public abstract String getRealIp(); + protected void setContext(WebContext openContext) { THREAD_LOCAL.set(openContext); }