2016-12-28 39 views
0

我正在使用JHipster。我想在我的網頁上顯示一些數據。我有一個ResponseEntity方法。在那裏我可以打印數據forEach(System.out::println)Spring ResponsEntity Return

現在的問題是System.out.println是一個void。如果使用代碼

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

它說

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

POST方法已被用來

我怎樣才能解決這個問題。

+0

使用一定的緩衝,並打印成嗎? – 2016-12-28 11:56:13

+0

如果您只想查看流內部沒有終止它的內容,可以使用[peek](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#窺視java.util.function.Consumer-)。請注意,您仍然需要收集您的信息流的結果。 – Jaims

+0

而不是使用上述代碼使用此 返回新的ResponseEntity(collection,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); 

爲您的代碼(更改根據您的收集方法,您b::collectinfo輸出):

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

問題是我在控制檯中獲取輸出。但在大字中 對象{data:「」,status:406,config:Object,statusText:「Not Acceptable」} – itsMe

+0

和a是一個流

itsMe

+0

Accept中的Accept值是什麼正在發送? –