Spring WebFlux (Kotlin coRouter) Kotlin
مقتطف بلغة Kotlin لـ Spring WebFlux (Kotlin coRouter) يستجيب لطلبات /pixel.gif بملف GIF الفارغ، الذي يُفك ترميزه مرة واحدة عند بدء التشغيل.
Spring WebFlux (Kotlin coRouter) Kotlin
package com.example.pixel
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Bean
import org.springframework.http.CacheControl
import org.springframework.http.MediaType
import org.springframework.web.reactive.function.server.bodyValueAndAwait
import org.springframework.web.reactive.function.server.coRouter
import java.util.Base64
private val GIF: ByteArray = Base64.getDecoder().decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
@SpringBootApplication
class PixelApplication {
@Bean
fun pixelRoutes() = coRouter {
GET("/pixel.gif") {
ok().contentType(MediaType.IMAGE_GIF)
.contentLength(GIF.size.toLong())
.cacheControl(CacheControl.noStore())
.bodyValueAndAwait(GIF)
}
}
}
fun main(args: Array<String>) {
runApplication<PixelApplication>(*args)
}
شغّلنا هذا المقتطف وقارنّا البايتات التي أعادها.
التحقق
curl -sI http://localhost:8080/pixel.gif
الموقع الرسمي: Spring WebFlux (Kotlin coRouter)