#java #spring #mongodb #spring_boot
Есть класс Person, в нем есть поле name. Я записываю эти данные в Mongo, но на выходе, хочу получать не записанные по 1-у классы, а все поля name из них, но в List. Вот код @RestController public class Post_Get { @Autowired private PersonRepository personRepository; private List persons = new ArrayList<>(); @PostMapping("api/names") public void post (@RequestParam("username") String name) { Person person = new Person(name); personRepository.save(person); } @GetMapping("api/names") public List get () { return personRepository.findAll(); } }
Ответы
Ответ 1
@GetMapping("api/names") public ListgetNames() { return personRepository.findAll() .stream() .map(Person::getName) .filter(Objects::nonNull) .collect(Collectors.toList()); } Или без лишней конвертаций public interface PersonRepository extends Repository { Stream findByNameNotNull(); } @GetMapping("api/names") public List getNames() { return personRepository.findByNameNotNull() .map(Person::getName) .collect(Collectors.toList()); }
Комментариев нет:
Отправить комментарий