Есть класс Person
, в нем есть поле name
. Я записываю эти данные в Mongo, но на выходе, хочу получать не записанные по 1-у классы, а все поля name
из них, но в List<String>
. Вот код
@RestController
public class Post_Get {
@Autowired
private PersonRepository personRepository;
private List<String> 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<Person> get () {
return personRepository.findAll();
}
}
@GetMapping("api/names")
public List<String> getNames() {
return personRepository.findAll()
.stream()
.map(Person::getName)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
Или без лишней конвертаций
public interface PersonRepository extends Repository<Person, Long> {
Stream<Person> findByNameNotNull();
}
@GetMapping("api/names")
public List<String> getNames() {
return personRepository.findByNameNotNull()
.map(Person::getName)
.collect(Collectors.toList());
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
я вот хочу дебажить но при открытии дебага показывает только результат в консоли но кнопочки у дебага не активныеэто один из вопросов
Проблема в том, что в onPause вы ставите camera = null;, а потом в onResume пытаетесь открыть camera = Cameraopen(); Естественно, оно падает
Когда я переопределяю метод из базового класса с помощью @Override - это статическое связывание, а когда без - динамическоеПравильно ли я понимаю?