Add bodyToMono/Flux<Foo>() Kotlin extensions

Issue: SPR-15128
This commit is contained in:
Sebastien Deleuze
2017-01-11 08:59:10 +01:00
parent 0a988fd2b1
commit b04b41b93b
2 changed files with 34 additions and 0 deletions

View File

@@ -13,6 +13,15 @@ import kotlin.reflect.KClass
*/
fun <T : Any> ClientResponse.bodyToMono(type: KClass<T>) : Mono<T> = bodyToMono(type.java)
/**
* Extension for [ClientResponse.bodyToMono] providing a `bodyToMono<Foo>()` variant.
*
* @author Sebastien Deleuze
* @since 5.0
*/
inline fun <reified T : Any> ClientResponse.bodyToMono() = bodyToMono(T::class.java)
/**
* Extension for [ClientResponse.bodyToFlux] providing a [KClass] based variant.
*
@@ -21,4 +30,13 @@ fun <T : Any> ClientResponse.bodyToMono(type: KClass<T>) : Mono<T> = bodyToMono(
*/
fun <T : Any> ClientResponse.bodyToFlux(type: KClass<T>) : Flux<T> = bodyToFlux(type.java)
/**
* Extension for [ClientResponse.bodyToFlux] providing a `bodyToFlux<Foo>()` variant.
*
* @author Sebastien Deleuze
* @since 5.0
*/
inline fun <reified T : Any> ClientResponse.bodyToFlux() = bodyToFlux(T::class.java)

View File

@@ -11,6 +11,14 @@ import kotlin.reflect.KClass
*/
fun <T : Any> ServerRequest.bodyToMono(type: KClass<T>) = bodyToMono(type.java)
/**
* Extension for [ServerRequest.bodyToMono] providing a `bodyToMono<Foo>()` variant.
*
* @author Sebastien Deleuze
* @since 5.0
*/
inline fun <reified T : Any> ServerRequest.bodyToMono() = bodyToMono(T::class.java)
/**
* Extension for [ServerRequest.bodyToFlux] providing a [KClass] based variant.
*
@@ -18,3 +26,11 @@ fun <T : Any> ServerRequest.bodyToMono(type: KClass<T>) = bodyToMono(type.java)
* @since 5.0
*/
fun <T : Any> ServerRequest.bodyToFlux(type: KClass<T>) = bodyToFlux(type.java)
/**
* Extension for [ServerRequest.bodyToFlux] providing a `bodyToFlux<Foo>()` variant.
*
* @author Sebastien Deleuze
* @since 5.0
*/
inline fun <reified T : Any> ServerRequest.bodyToFlux() = bodyToFlux(T::class.java)