Использование Spring Data REST с JPA в версии 2.0.2.RELEASE.Отключить язык приложений гипертекста (HAL) в JSON?
Как отключить язык приложений гипертекста (HAL) в JSON? http://stateless.co/hal_specification.html
Я уже много пробовал, но безрезультатно. Например, я установил заголовки Accept и Content-type в «application/json» вместо «application/hal + json», но я все еще получаю содержимое JSON с гиперссылками.
Например, я хотел бы получить что-то вроде:
{
"name" : "Foo",
"street" : "street Bar",
"streetNumber" : 2,
"streetLetter" : "b",
"postCode" : "D-1253",
"town" : "Munchen",
"country" : "Germany",
"phone" : "+34 4410122000",
"vat" : "000000001",
"employees" : 225,
"sector" : {
"description" : "Marketing",
"average profit": 545656665,
"average employees": 75,
"average profit per employee": 4556
}
}
Вместо:
{
"name" : "Foo",
"street" : "street Bar",
"streetNumber" : 2,
"streetLetter" : "b",
"postCode" : "D-1253",
"town" : "Munchen",
"country" : "Germany",
"phone" : "+34 4410122000",
"vat" : "000000001",
"employees" : 225,
"_links" : {
"self" : {
"href" : "http://localhost:8080/app/companies/1"
},
"sector" : {
"href" : "http://localhost:8080/app/companies/1/sector"
}
}
}
Спасибо за вашу помощь.
Как я уже сказал, я попытался использовать * @ RepositoryRestResource (exported = false) * для того, чтобы секторы были встроены. Однако в этом случае я получаю JSON с «сектором»: null. Итак, я смотрю Spring Spring REST 2.1 M1 и вариант прогнозов. – jplandrain
Описание, данное в [DATAREST-221] (https://jira.spring.io/browse/DATAREST-221) билет, на который вы ссылаетесь, - это именно та ситуация, с которой я столкнулся. – jplandrain
Мне потребовалось немного времени, чтобы понять все детали, но это работает. Я делал две ошибки: 1. Я не создал класс Projection под моим пакетом сущностей (или подпакету сущностей). Вы сказали мне сделать это, но я не заметил 2. Мне нужно создать интерфейс SectorSomething и вернуть его в классе Projection (а не в классе сектора, как написано в вашем ответе). Большое спасибо за Вашу помощь. – jplandrain