Я пытаюсь реализовать HAL и нумерацию страниц с использованием библиотек Hateoas и Spring Data в существующем проекте Spring. Все работает, как и ожидалось, за исключением того, что все ссылки показывают ключ под названием «uriTemplate», который я никогда не видел в онлайн-примерах. Пример ответа можно найти ниже:
{
"_links": {
"self": {
"href": "http://localhost:8080/my-service/v2/library/300000000001/books?page=0",
"uriTemplate": {
"variables": [],
"baseUri": "http://localhost:8080/cm-contactpoints/v2/customers/300000000001/phones?page=0&size=1",
"variableNames": [],
"optionalVariables": {
"variables": []
}
}
}
},
"page": {
"size": 10,
"totalElements": 0,
"totalPages": 0,
"number": 0
}
}
Я вполне уверен, что есть какая-то конфигурация, которая вызывает это, потому что, если я создаю новый проект с нуля и использую подобный подход, тогда «uriTemplate» не отображается в ответ, что я и ожидаю увидеть. Вот метод GET от моего контроллера, если он помогает:
@Get("")
public ResponseEntity<PagedResources<BookResource>> get(@PathVariable("bookId") String bookId, Pageable pageable) {
Page<Book> books = bookService.getRepository().findByBookId(bookId, pageable);
PagedResources<BookResource> bookPageResource = pagedResourcesAssembler.toResource(books, bookResourceAssembler);
return new ResponseEntity<>(bookPageResource, HttpStatus.OK);
}
Любая помощь будет принята с благодарностью!