diff --git a/pom.xml b/pom.xml
index d604274..8b9d164 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
com.imyeyu.spring
timi-spring
- 0.0.12
+ 0.0.13
jar
@@ -143,6 +143,11 @@
timi-io
0.0.3
+
+ com.imyeyu.java
+ timi-java
+ 0.0.3
+
org.projectlombok
lombok
diff --git a/src/main/java/com/imyeyu/spring/TimiSpring.java b/src/main/java/com/imyeyu/spring/TimiSpring.java
index 69d5420..7fa2162 100644
--- a/src/main/java/com/imyeyu/spring/TimiSpring.java
+++ b/src/main/java/com/imyeyu/spring/TimiSpring.java
@@ -346,7 +346,16 @@ public class TimiSpring {
* @return 令牌
*/
public static String getToken() {
- return TimiJava.firstNotEmpty(getHeader("Token"), getHeader("token"), getRequestArg("token"), getRequestArg("Token"));
+ return TimiJava.firstNotEmpty(getHeader("Token"), getHeader("token"), getRequestArg("Token"), getRequestArg("token"));
+ }
+
+ /**
+ * 获取请求密钥,键为 Key 或 key,包括请求头和 URI
+ *
+ * @return 密钥
+ */
+ public static String getKey() {
+ return TimiJava.firstNotEmpty(getHeader("Key"), getHeader("key"), getRequestArg("Key"), getRequestArg("key"));
}
/**
diff --git a/src/main/java/com/imyeyu/spring/entity/BaseEntity.java b/src/main/java/com/imyeyu/spring/entity/BaseEntity.java
index e70d256..bf3406e 100644
--- a/src/main/java/com/imyeyu/spring/entity/BaseEntity.java
+++ b/src/main/java/com/imyeyu/spring/entity/BaseEntity.java
@@ -1,6 +1,8 @@
package com.imyeyu.spring.entity;
+import com.fasterxml.jackson.annotation.JsonView;
import com.imyeyu.spring.annotation.table.DeleteColumn;
+import com.imyeyu.spring.util.ResponseView;
import com.imyeyu.utils.Time;
import lombok.Data;
@@ -16,15 +18,19 @@ import java.io.Serializable;
public class BaseEntity implements Serializable, Creatable, Updatable, Deletable {
/** 创建时间 */
+ @JsonView(ResponseView.Public.class)
protected Long createdAt;
/** 更新时间 */
+ @JsonView(ResponseView.Public.class)
protected Long updatedAt;
/** 删除时间 */
@DeleteColumn
+ @JsonView(ResponseView.Admin.class)
protected Long deletedAt;
+ @JsonView(ResponseView.Admin.class)
@Override
public boolean isDeleted() {
return deletedAt != null && deletedAt < Time.now();
diff --git a/src/main/java/com/imyeyu/spring/entity/Entity.java b/src/main/java/com/imyeyu/spring/entity/Entity.java
index 73c1e4a..5bbb08d 100644
--- a/src/main/java/com/imyeyu/spring/entity/Entity.java
+++ b/src/main/java/com/imyeyu/spring/entity/Entity.java
@@ -1,6 +1,8 @@
package com.imyeyu.spring.entity;
+import com.fasterxml.jackson.annotation.JsonView;
import com.imyeyu.spring.annotation.table.Id;
+import com.imyeyu.spring.util.ResponseView;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -16,5 +18,6 @@ public class Entity extends BaseEntity implements IDEntity {
/** ID */
@Id
+ @JsonView(ResponseView.Public.class)
protected Long id;
}
diff --git a/src/main/java/com/imyeyu/spring/entity/Multilingual.java b/src/main/java/com/imyeyu/spring/entity/Multilingual.java
index 3c50f7d..97c10c5 100644
--- a/src/main/java/com/imyeyu/spring/entity/Multilingual.java
+++ b/src/main/java/com/imyeyu/spring/entity/Multilingual.java
@@ -1,9 +1,11 @@
package com.imyeyu.spring.entity;
+import com.fasterxml.jackson.annotation.JsonView;
import com.imyeyu.java.bean.Language;
import com.imyeyu.java.ref.Ref;
import com.imyeyu.spring.annotation.table.AutoUUID;
import com.imyeyu.spring.annotation.table.Id;
+import com.imyeyu.spring.util.ResponseView;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -20,18 +22,23 @@ public class Multilingual extends Language implements IDEntity, Creatabl
/** 唯一标识 */
@Id
@AutoUUID
+ @JsonView(ResponseView.Public.class)
protected String id;
/** 业务类型 */
+ @JsonView(ResponseView.Public.class)
protected String bizType;
/** 创建时间 */
+ @JsonView(ResponseView.Admin.class)
protected Long createdAt;
/** 更新时间 */
+ @JsonView(ResponseView.Admin.class)
protected Long updatedAt;
/** 删除时间 */
+ @JsonView(ResponseView.Admin.class)
protected Long deletedAt;
/**
diff --git a/src/main/java/com/imyeyu/spring/entity/UUIDEntity.java b/src/main/java/com/imyeyu/spring/entity/UUIDEntity.java
index 774a91c..54d8613 100644
--- a/src/main/java/com/imyeyu/spring/entity/UUIDEntity.java
+++ b/src/main/java/com/imyeyu/spring/entity/UUIDEntity.java
@@ -1,7 +1,9 @@
package com.imyeyu.spring.entity;
+import com.fasterxml.jackson.annotation.JsonView;
import com.imyeyu.spring.annotation.table.AutoUUID;
import com.imyeyu.spring.annotation.table.Id;
+import com.imyeyu.spring.util.ResponseView;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -18,5 +20,6 @@ public class UUIDEntity extends BaseEntity implements IDEntity {
/** ID */
@Id
@AutoUUID
+ @JsonView(ResponseView.Public.class)
protected String id;
}
diff --git a/src/main/java/com/imyeyu/spring/util/ResponseView.java b/src/main/java/com/imyeyu/spring/util/ResponseView.java
new file mode 100644
index 0000000..1acc548
--- /dev/null
+++ b/src/main/java/com/imyeyu/spring/util/ResponseView.java
@@ -0,0 +1,30 @@
+package com.imyeyu.spring.util;
+
+/**
+ *
+ *
+ * @author 夜雨
+ * @since 2026-02-25 15:46
+ */
+public interface ResponseView {
+
+ /**
+ *
+ *
+ * @author 夜雨
+ * @since 2026-02-25 15:46
+ */
+ interface Public {
+
+ }
+
+ /**
+ *
+ *
+ * @author 夜雨
+ * @since 2026-02-25 15:46
+ */
+ interface Admin extends Public {
+
+ }
+}