Выходной формат Chage in spring data rest в spring-data-rest-webmvc версии 2.2.1.RELEASE
Я использую Spring Data Rest Web MVC 2.2.1.RELEASE. Я ожидаю в следующем формате
{
"content": [ {
"price": 499.00,
"description": "Apple tablet device",
"name": "iPad",
"links": [ {
"rel": "self",
"href": "http://localhost:8080/product/1"
} ],
"attributes": {
"connector": "socket"
}
}, {
"price": 49.00,
"description": "Dock for iPhone/iPad",
"name": "Dock",
"links": [ {
"rel": "self",
"href": "http://localhost:8080/product/3"
} ],
"attributes": {
"connector": "plug"
}
} ],
"links": [ {
"rel": "product.search",
"href": "http://localhost:8080/product/search"
} ]
}
Но я получаю вывод, как это:
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/people{?page,size,sort}",
"templated" : true
},
"search" : {
"href" : "http://localhost:8080/people/search"
}
},
"_embedded" : {
"people" : [ {
"firstName" : "Frodo",
"lastName" : "Baggins",
"_links" : {
"self" : {
"href" : "http://localhost:8080/people/1"
}
}
}, {
"firstName" : "Frodo",
"lastName" : "shukla",
"_links" : {
"self" : {
"href" : "http://localhost:8080/people/2"
}
}
} ]
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
Почему я получаю _включенные вместо содержимого _ ссылки вместо ссылок
и атрибут rel отсутствует..
Я пытаюсь десериализовать json обратно в ресурс hateos, но из-за изменения формата я не могу этого добиться.
Спасибо за помощь заранее
3 ответа
Результат, который вы ожидаете, - это результат, полученный с помощью spring-data-rest 1.x. Формат по умолчанию в 2.x - HAL. Но возврат к старому формату возможен путем изменения формата мультимедиа по умолчанию, как указано в разрешении этой ошибки: https://jira.spring.io/browse/DATAREST-213.
Я адаптировал свой JPA Rest Client согласно спецификации HAL /