我在使用Halarious(HAL specification的Java库)和Gson使用单个元素序列化_links部分中的链接列表时遇到问题。该数组被序列化为一个对象,而不是一个具有单个链接的数组。
实施例: 我现在得到的是:
{
"year": 2008,
"_embedded": {
"items": {
"_links": {
"self": {
"href": "/first_item"
}
}
}
}
}
而不是:
{
"year": 2008,
"_embedded": {
"items": {
"_links": {
"self": [
{
"href": "/first_item"
}
]
}
}
}
}
我用_embedded部分解决了同样的问题,但我无法解决链接部分。
由于
答案 0 :(得分:0)
我解决了使用解决方法。我没有'使用@HalLink,但是包含所有层次结构的代理ad hoc类,以及名为" _links"。
的实例因此,当它具有单个链接时,使用自定义Href对象列表,我将以单个元素的形式接收预期的自身属性作为列表。
在所有HAL文档(http://stateless.co/hal_specification.html)之后说:"如果您不确定链接是否应该是单数,则假设它将是多个"从http://blog.stateless.co/post/13296666138/json-linking-with-hal"如果一个关系可能有多个链接共享同一个键,那么该值应该是一个链接对象数组"。 通过这种方式,我不会让消费者让他们处理JSON数组或对象。