[서버][스프링][Kotlin] WebClient의 response를 generics로 매핑하는 방법
프로그래밍/서버2021. 4. 18. 23:32
스프링에서 WebClient의 response를 generics으로 매핑하는 방법을 알아보겠습니다.
generics 관련 정보는 컴파일 단계에서 사라지므로 간단하게 해결되지 않습니다.
더군다나 코틀린으로 하면 조금 더 복잡해 지는 것 같네요.
Generics가 없다면 그냥 아래와 같이 사용하면 됩니다.
bodyToMono(ApiResult::class.java)
그런데 response가 ApiResult<RoomDto>의 타입이라면 방법을 좀 바꿔야 합니다.
java라면
bodyToMono(new ParameterizedTypeReference<ApiResult<RoomDto>>() {})
위의 코드를 사용하면 됩니다.
코틀린에서는?
bodyToMono(object : ParameterizedTypeReference<ApiResult<RoomDto>>() {})
위와 같이 사용하면 됩니다.
object: 부분이 없으면 에러가 발생합니다.
문법이 좀 특이해 보이네요.
참고
댓글 영역