Репозитории Spring Data Rest иногда не экспортируются - PullRequest
2 голосов
/ 27 мая 2020

У меня странная проблема в моем приложении Spring Boot (2.2.6.RELEASE) с использованием Spring Data Rest (3.2.6.RELEASE). Время от времени мои репозитории не открываются через rest. Это происходит с той же версией (той же самой банкой) моего приложения, использующей точно такую ​​же конфигурацию.

Их 4 @RepositoryRestResource, и когда он работает, ресурс root показывает следующее:

{
    "_links": {
        "entity-a": {
            "href": "http://localhost:8080/api/entity-a{?projection}",
            "templated": true
        },
        "entity-b": {
            "href": "http://localhost:8080/api/entity-b"
        },
        "entity-c": {
            "href": "http://localhost:8080/api/entity-c{?page,size,sort,projection}",
            "templated": true
        },
        "entity-d": {
            "href": "http://localhost:8080/api/entity-d"
        },
        "profile": {
            "href": "http://localhost:8080/api/profile"
        }
    }
}

и когда он не работает, он возвращает:

{
    "_links": {
        "profile": {
            "href": "http://localhost:8080/api/profile"
        }
    }
}

Некоторые дополнительные результаты:

  • Сканирование компонентов JPA работает в обоих сценариях ios
  • Сами репозитории работают, потому что в обоих сценариях ios, настраиваемые контроллеры, использующие эти репо, работают нормально
  • Включение ведения журнала отладки для org.springframework.data дает точно такой же результат в обоих сценариях ios
  • Сравнение ответов от конечных точек исполнительного механизма не показывает заметной разницы
  • Стратегия обнаружения репозитория установлена ​​на RepositoryDetectionStrategies.ANNOTATED явно
  • Я не могу воспроизвести это в SSCE
  • Модуль был обновлен с Spring Boot 1.5.18, проблема началась после обновления.

Кто-нибудь еще сталкивался с этой проблемой раньше? Что могло быть причиной этого? Или несколько указателей о том, как я могу дальше анализировать эту проблему?

1 Ответ

3 голосов
/ 27 мая 2020

Похоже, вы столкнулись с DATAREST-1502 , который был исправлен в версии 3.2.7 и новее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...