From a495829a3cbe91b48899a5cba65b66ab1f3881a8 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Wed, 28 Aug 2019 14:31:33 +0800 Subject: [PATCH] =?UTF-8?q?RestHeader=E6=94=AF=E6=8C=81InetSocketAddress?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/net/http/Rest.java | 3 ++- src/org/redkale/net/http/RestHeader.java | 2 +- .../net/http/WebSocketUserAddress.java | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/org/redkale/net/http/WebSocketUserAddress.java diff --git a/src/org/redkale/net/http/Rest.java b/src/org/redkale/net/http/Rest.java index 4f5a7ea18..60f48dc04 100644 --- a/src/org/redkale/net/http/Rest.java +++ b/src/org/redkale/net/http/Rest.java @@ -11,6 +11,7 @@ import java.lang.annotation.*; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.reflect.*; +import java.net.InetSocketAddress; import java.nio.channels.CompletionHandler; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -1002,7 +1003,7 @@ public final class Rest { RestHeader annhead = param.getAnnotation(RestHeader.class); if (annhead != null) { - if (ptype != String.class) throw new RuntimeException("@RestHeader must on String Parameter in " + method); + if (ptype != String.class && ptype != InetSocketAddress.class) throw new RuntimeException("@RestHeader must on String or InetSocketAddress Parameter in " + method); n = annhead.name(); radix = annhead.radix(); comment = annhead.comment(); diff --git a/src/org/redkale/net/http/RestHeader.java b/src/org/redkale/net/http/RestHeader.java index da91c36f2..0528703f9 100644 --- a/src/org/redkale/net/http/RestHeader.java +++ b/src/org/redkale/net/http/RestHeader.java @@ -10,7 +10,7 @@ import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** - * 只能注解于RestService类的方法的参数或参数内的String字段 + * 只能注解于RestService类的方法的参数或参数内的String、java.net.InetSocketAddress字段 *
* 详情见: https://redkale.org * diff --git a/src/org/redkale/net/http/WebSocketUserAddress.java b/src/org/redkale/net/http/WebSocketUserAddress.java new file mode 100644 index 000000000..c988efff5 --- /dev/null +++ b/src/org/redkale/net/http/WebSocketUserAddress.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.redkale.net.http; + +import java.io.Serializable; +import java.net.InetSocketAddress; +import java.util.Collection; + +/** + * userid 与 sncpaddress组合对象 + * + *
+ * 详情见: https://redkale.org
+ *
+ * @author zhangjx
+ */
+public interface WebSocketUserAddress {
+
+ Serializable userid();
+
+ InetSocketAddress sncpAddress();
+
+ Collection