Выходной формат 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 ответа

SDR 2.X выводит контент в формате HAL и, следовательно, _links & _embedded, Обратитесь к спецификации HAL для получения более подробной информации.

Результат, который вы ожидаете, - это результат, полученный с помощью spring-data-rest 1.x. Формат по умолчанию в 2.x - HAL. Но возврат к старому формату возможен путем изменения формата мультимедиа по умолчанию, как указано в разрешении этой ошибки: https://jira.spring.io/browse/DATAREST-213.

Я адаптировал свой JPA Rest Client согласно спецификации HAL /

Другие вопросы по тегам