2016-12-28 2 views
0

Я использую JHipster. Я хочу отобразить некоторые данные на моей веб-странице. У меня есть метод ResponseEntity. где я могу распечатать данные с помощью forEach(System.out::println)Весна Ответ Возврат

Теперь проблема в System.out.println является пустой. если использовать код

return new ResponseEntity(a.map(b::collectinfo) 
.forEach(System.out::println), HttpStatus.OK); 

это говорит

Error:(99, 77) java: 'void' type not allowed here

Метод пост был использован

, как я могу это исправить.

+0

Используйте некоторый буфер и печать в него? –

+0

Если вы просто хотите увидеть, что внутри потока, не прерывая его, вы можете использовать [peek] (https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html# выглядывать-java.util.function.Consumer-). Обратите внимание, что вам все равно нужно собрать результат вашего потока. – Jaims

+0

вместо использования вышеуказанного кода с использованием этого return new ResponseEntity (коллекция, HttpStatus.OK); Позже в клиентском коде вы перебираете эту коллекцию. –

ответ

1

Возможно, поток списка (если вывод b::collectinfo - это список), используйте peek для отображения значений и возврата их в список (если вывод b::collectinfo - это список).

List<Integer> list = new ArrayList<>(); 
return new ResponseEntity(list.stream().peek(System.out::println).collect(Collectors.toList()), HttpStatus.OK); 

Для вашего кода (Изменить ваш Collect метода в соответствии с вашим b::collectinfo выхода):

return new ResponseEntity(a.map(b::collectinfo) 
.stream().peek(System.out::println).collect(Collectors.toList()), HttpStatus.OK); 
+0

Проблема в том, что я получаю вывод в консоли. но в broswer его Объект {data: "", status: 406, config: Object, statusText: "Not Acceptable"} – itsMe

+0

и a - это поток

itsMe

+0

Каково значение 'Accept' в заголовках этого клиента отправляет? –

Смежные вопросы