Я использую контроллер начальной загрузки пружины.
Я использую этот Enum:
public enum Lang {
EN,FR
}
мой репозиторий:
public List<Items> findByNameContainsAndLang(String name,Lang language);
мой контроллер:
@RequestMapping(value = "/items", method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<ItemModel>> getSearchedItems(
@RequestParam(name = "name", defaultValue = "",required = false) String name,
@RequestParam(name = "language",required = false) Lang language
) {
return ResponseEntity.ok(itemServiceImp.findSearchedItem(name, language));
}
это мой сервис:
public List<ItemModel> findSearchedItem(String name, Lang language ){
List<ItemModel> lst=null;
lst = itemRepo.findByNameContainsAndLang(name language)
.stream()
.map(this::mapItemModel)
.collect(toList());
return lst;
}
поэтому, когда я пробую этот путь:
http://myUrl/items?name=something&language=EN
, который извлекает результат и возвращает мои данные, но когда я пытаюсь:
http://myUrl/items?name=something
http://myUrl/items?language=EN
http://myUrl/items
, который извлекает 0 данных и пустой список
У кого-нибудь есть идея, хотя я использую require = false в @Requestparam
Любая помощь?Заранее спасибо