object MinimalApplication extends cask. MainRoutes {
@ cask.get( " / " )
def hello () = {
" Hello World! "
}
@ cask.post( " /do-thing " )
def doThing ( request : cask. Request ) = {
request.text().reverse
}
initialize()
}CASK adalah kerangka kerja web scala sederhana yang terinspirasi oleh proyek Flask Python. Ini bertujuan untuk membawa kesederhanaan, fleksibilitas, dan kemudahan penggunaan webserver, menghindari DSL samar atau asinkronisasi yang rumit. Cask memudahkan mengatur situs web, server backend, atau API REST menggunakan Scala
Jika Anda menggunakan tong dan menyukainya, Anda mungkin akan menikmati buku berikut oleh penulis:
Hands-on Scala telah menggunakan permintaan-skala secara luas di seluruh buku, dan memiliki keseluruhan Bab 14: Server Web dan API sederhana yang didedikasikan untuk perpustakaan. Scala langsung adalah cara yang bagus untuk meningkatkan keterampilan Anda di Scala secara umum dan tong pada khususnya.
Cask diprofilkan menggunakan Java Profiler JProfiler, milik EJ Technologies
@postJsonCached untuk memungkinkan referensi ke muatan tubuh asli di @postJson #123Decode Parameter URL dengan benar saat diteruskan sebagai segmen jalur atau kueri Params #114
Celola tebasan terkemuka saat menyelesaikan jalur statis #111
Tambahkan cask.QueryParams Jenis untuk memungkinkan metode rute mengambil parameter kueri sewenang -wenang, tambahkan cask.RemainingPathSegments sebagai pengganti untuk subpath = true #108 #109 #110
org.xerial:sqlite-jdbc dalam contoh ke versi 3.41.2.1 ke@staticResources dan @staticFiles dekorator sekarang secara otomatis menyimpulkan jenis konten berdasarkan ekstensi file@cask.options DecoratoractorContext secara eksplisit diteruskan ke setiap kelas kasus rutegeny.Writable#httpContentType dan geny.Writable#contentLengthdelete dan patchSameSitecask-actor ke dalam repo dan artefaknya sendiri, https://github.com/lihaoyi/castorcask-actor menjadi artefak terpisah, didokumentasikan secara terpisah sebagai aktor tongJenis dekorator yang tidak cocok diterapkan pada metode tunggal sekarang merupakan kesalahan kompilasi
staticFiles dan staticResources sekarang memungkinkan Anda untuk menentukan header respons
cask.Main cask.decorators.compress cask.Routes
Izinkan dekorator untuk didefinisikan dan digunakan untuk hasil non- cask.Response Respons
cask.WebsocketClientImplcask.WsClientRoutes#log implisitcask.util untuk Scala.jsconcurrent.ExecutionContext.global di cask.Routes secara default, untuk ditimpa jika perlucask.Logger dasarcask.WsHandler dan cask.WsActorcask.Response sekarang kovarian./mill Bootstrap Script