From 750da161eb43b694c3d1642385286962866a3417 Mon Sep 17 00:00:00 2001
From: Redkale <8730487+redkale@users.noreply.github.com>
Date: Tue, 28 Aug 2018 10:18:27 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BAHttpUserType=E7=9A=84?=
=?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/org/redkale/net/http/HttpUserType.java | 2 +-
src/org/redkale/net/http/Rest.java | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/org/redkale/net/http/HttpUserType.java b/src/org/redkale/net/http/HttpUserType.java
index b2d0477cc..5bbc7683f 100644
--- a/src/org/redkale/net/http/HttpUserType.java
+++ b/src/org/redkale/net/http/HttpUserType.java
@@ -12,7 +12,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* 配合 HttpServlet 使用。
* 用于指定HttpRequest.currentUser的数据类型。
- * 注意: 数据类型是JavaBean,则必须要用javax.persistence.Id标记主键字段,用于确定用户ID
+ * 注意: 数据类型是JavaBean
*
*
* 详情见: https://redkale.org diff --git a/src/org/redkale/net/http/Rest.java b/src/org/redkale/net/http/Rest.java index 0c07acb60..a420d1078 100644 --- a/src/org/redkale/net/http/Rest.java +++ b/src/org/redkale/net/http/Rest.java @@ -705,6 +705,9 @@ public final class Rest { HttpUserType hut = baseServletType.getAnnotation(HttpUserType.class); final Class userType = (userType0 == null || userType0 == Object.class) ? (hut == null ? null : hut.value()) : userType0; + if (userType != null && (userType.isPrimitive() || userType.getName().startsWith("java.") || userType.getName().startsWith("javax."))) { + throw new RuntimeException(HttpUserType.class.getSimpleName() + " must be a JavaBean but found " + userType); + } final String supDynName = baseServletType.getName().replace('.', '/'); final RestService controller = serviceType.getAnnotation(RestService.class);