2017-12-24 4 views
0

어떻게 SCALA 목록 또는 시퀀스를 Sprint @RestController에 반환 할 수 있습니까? 목록 반환 값 은 제대로 처리되지 않습니다.스프링 SCALA Rest Restroller의 목록 반환

결과는 다음과 같습니다

[GET] http://localhost:9090/devices 

{"empty":false,"traversableAgain":true} 

내가 적절한 휴식 잭슨 ObjectMapper com.fasterxml.jackson를 가져 목록에 결과 직렬화를 얻을해야합니까?

내 RestController은 다음과 같습니다

@RestController 
class DeviceController { 

    var devices = Set[Device]() 

    @RequestMapping(value = Array("/devices"), method = Array(RequestMethod.GET)) 
    def accounts() : List[Device] = devices.toList 
} 

답변

1

봄이었다 마음에 SCALA 설계하지 - 따라서 그것은 하지 핸들 SCALA 목록을 제대로 할 수 있습니다. 또한 Seq [Device]도 처리 할 수 ​​없습니다.

SCALA의 JavaConvertes 패키지를 사용하면 SCALA 목록을 Java 목록으로 쉽게 변환 할 수 있습니다.

import scala.collection.JavaConverters._ 

@RestController 
class DeviceController { 

    var devices = Set[Device]() 

    @RequestMapping(value = Array("/devices"), method = Array(RequestMethod.GET)) 
    def accounts() : java.util.List[Device] = { 
    devices.toList.asJava 
    } 
} 

그 결과는 다음과 같습니다 java.util.List[Device]

:

[GET] http://localhost:9090/devices 
[{"name":"first device"},{"name":"second device"}] 

하기에 결과 유형을 변경하는 것을 잊지 마십시오