Java 如何为jackson数据类型hal注释记录
我尝试用Clojure复制上的示例,但序列化的输出不是预期的输出 带注释的记录序列化为普通映射,而不是hal结构 这就是名称空间,简化为问题所在Java 如何为jackson数据类型hal注释记录,java,clojure,jackson,Java,Clojure,Jackson,我尝试用Clojure复制上的示例,但序列化的输出不是预期的输出 带注释的记录序列化为普通映射,而不是hal结构 这就是名称空间,简化为问题所在 (ns-hal) (:gen类) (:导入(io.openapitools.jackson.dataformat.hal.annotation) 居里 链接 资源 嵌入式资源) (io.openapitools.jackson.dataformat.hal) HALMapper 哈林克 HALLink$Builder) (定义hal链接) [网址] (
(ns-hal)
(:gen类)
(:导入(io.openapitools.jackson.dataformat.hal.annotation)
居里
链接
资源
嵌入式资源)
(io.openapitools.jackson.dataformat.hal)
HALMapper
哈林克
HALLink$Builder)
(定义hal链接)
[网址]
(.build(HALLink$Builder.url)))
(defrecord^{Resource true}关联模型
[^String AssociatedProperty
^{Link true:tag HALLink}self])
(defrecord^{Resource true}模型
[^String modelProperty
^{Link true:tag HALLink}self
^{Link{:rel“associated”}:tag-HALLink}关系
^{EmbeddedResource true:标记AssociatedModel}associated])
(def型号(->型号
“测试”
(hal链接“/api/model/1”)
(hal链接“/api/assoc/1”)
(->关联模型
“关联模型”
(hal链接/api/assoc/1)
(定义hal映射器(HALMapper.))
(.writeValueAsString hal映射器模型)
预期结果:
{
"_links": {
"self": { "href": "https://..."},
"rel:associated": { "href": "https://..."}
},
"_embedded": {
"associated": {
"_links": {
"self": { "href": "https://..." }
},
"associatedProperty": "..."
}
},
实际结果:
{
":self": {
"href": "/api/model/1",
"templated": false
},
":associated": {
":AssociatedProperty": "AssociatedModel",
":self": {
"href": "/api/assoc/1",
"templated": false
}
},
":relation": {
"href": "/api/assoc/1",
"templated": false
},
":modelProperty": "Test"
}
乍一看,一切都是正确的。我注意到一件事,您注释了与EmbeddedResource关联的内容,而不是在引用中的Embedded。您是否介意发布deps.edn以便我可以在我的机器上启动它,或者使用本节末尾的命令检查您是否分配了正确的注释:乍一看,一切看起来都是正确的。我注意到一件事,您注释了与EmbeddedResource关联的内容,而不是在引用中的Embedded。您是否介意发布deps.edn以便我可以在我的机器上启动它,或者使用本节末尾的命令检查您是否分配了正确的注释: