Используя Spring Data REST, у меня есть две модели, NvdApps с отношением один-ко-многим к NvdVulnerabilities
Я пытаюсь добавить возможность поиска NvdVulnerabilities с помощью NvdApp, поэтому мой репозиторий выглядит как это:
public interface NvdVulnerabilityRepository extends PagingAndSortingRepository<NvdVulnerability, Long> {
List<NvdVulnerability> findByNvdApp(NvdApp nvdApp);
}
И это дает мне конечную точку REST:
"findByNvdApp" : {
"href" : "http://localhost:8080/api/nvdVulnerabilities/search/findByNvdApp{?nvdApp}",
"templated" : true
}
Когда я пытаюсь использовать эту конечную точку, она просто возвращает всю таблицу, независимо от того, что я поставил в строке запроса. Примеры URL, которые я пробовал:
http://localhost:8080/api/nvdVulnerabilities/search/findByNvdApp?nvd_app_id=25
http://localhost:8080/api/nvdVulnerabilities/search/findByNvdApp?25
http://localhost:8080/api/nvdVulnerabilities/search/findByNvdApp?NvdApp=25
Мне не хватает какой-то конфигурации? Я в основном пытаюсь воспроизвести запрос:
SELECT * FROM NVD_VULNERABILITY where nvd_app_id = 25
Что работает так, как задумано в консоли базы данных H2. Как именно работает конечная точка поиска и как мне заставить ее фильтровать как задумано?
Я также хотел бы, чтобы подкачка работала с конечной точкой поиска; прямо сейчас он возвращает все 7k + строк, тогда как конечная точка http://localhost:8080/api/nvdVulnerabilities/
возвращает 20 элементов на страницу