Spring Data ExampleMatchers by Example возвращает пустой массив - PullRequest
0 голосов
/ 30 марта 2020

То, что я хочу, - это фильтровать и искать листовые музыкальные файлы c с помощью Examplematcher и примеров из Spring. Это не так гладко, как я думал. Я надеюсь, что вы знаете, что решение, потому что я застрял на нем. Это приложение с весенней загрузкой.

Ниже моей конечной точки для фильтрации:

   @GetMapping("/sheetmusic/filter")
    public List<SheetMusic> getSheetMusicByFilter(@RequestBody Map<String,String> body){
        String componist = body.get("componist");
        String key = body.get("key");
        String instrument = body.get("instrument");

        SheetMusic sheetMusic = new SheetMusic(componist,key,instrument);
        ExampleMatcher matcher = ExampleMatcher.matching()
                .withMatcher("componist", new ExampleMatcher.GenericPropertyMatcher().exact())
                .withMatcher("key",new ExampleMatcher.GenericPropertyMatcher().exact())
                .withMatcher("instrument",new ExampleMatcher.GenericPropertyMatcher().exact());

        Example<SheetMusic> example = Example.of(sheetMusic, matcher);
        List<SheetMusic> sheetMusics = sheetMusicRepository.findAll(example);
        return sheetMusics;

    }

Проблема в том, что список sheetMusics пуст, я на 100% уверен, что у меня sheetmusi c в базе данных с именем компонента как «Алан Уокер», но он по-прежнему ничего не возвращает.

1 Ответ

0 голосов
/ 30 марта 2020

Попробуйте это

  ExampleMatcher matcher = ExampleMatcher.matching()
                .withMatcher("componist", exact())
                .withMatcher("key", exact())
                .withMatcher("instrument",exact());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...