我想在 kotlin 数据类中使用 @CreatedDate 注释。所有属性都应初始化为不可变 (val)。问题是,该实现无法处理不可变变量。将不会设置正确的日期并且变量为空。使用可变变量,实现可以设置日期。
例子:
@Entity
@EntityListeners(AuditingEntityListener::class)
data class Test(
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id", updatable = false, nullable = false)
val id: UUID? = null,
val text: String,
@CreatedDate
@Column(updatable = false, nullable = false)
var createdAt: LocalDateTime?,
...
Run Code Online (Sandbox Code Playgroud)
kotlin编译器有没有特殊的插件来解决这个问题,或者可以在同一个数据类中使用val和var吗?
我正在尝试将具有指定 URI 前缀的 HTTP 请求代理到外部 HTTPS 服务器。这个想法是使用 NPM 的内部 Nexus 存储库管理器,但不要像GitHub 项目那样放弃“npm 审计”的能力。应该使用 Istio 来完成,而不是部署额外的应用程序。
我配置了一个虚拟服务和一个服务条目以将流量路由到外部服务。到目前为止,还无法将 HTTP 请求转换为 HTTPS 请求。有机会这样做吗?
配置:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: vs-nexus
spec:
hosts:
- "test.com"
gateways:
- gateway-xy
http:
- match:
- uri:
prefix: /-/npm/v1/security/audits/
route:
- destination:
port:
number: 443
host: registry.npmjs.org
- route:
- destination:
port:
number: 80
host: nexus
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: npmjs-ext
spec:
hosts:
- registry.npmjs.org
ports:
- number: 443
name: tls
protocol: …Run Code Online (Sandbox Code Playgroud)