Size: a a a

2020 February 13

ch

central hardware in Kotlin JVM
Azim Muradov
Всем привет. Делаю библиотеку-wrapper для одного RESTful API на котлине. Не подскажете, что лучше использовать для request-ов и сериализации? Сейчас использую ktor и gson просто чтобы все работало, но не знаю, стоит ли.
Также одновременно пишу DSL для него по типу такого:

const val TOKEN: String = "<YOUR_TOKEN>"
const val KEY: String  = "<YOUR_KEY>"

val app = app(token = TOKEN, key = KEY) {
   val myObjs: List<MyObj> = get.myObjs {
       fields {
           +id
           +name
       }
       filter {
           +public
       }
   }
}

(поэтому могут возникнуть затруднения с query-ми)
А смысл DSL если у вас там нету qraphql?
источник

AM

Azim Muradov in Kotlin JVM
central hardware
А смысл DSL если у вас там нету qraphql?
Я пишу wrapper, поэтому я в любом  случае не смогу использовать qraphql. А DSL нужен просто, чтобы формирование query для пользователя было с автодополнением, что удобнее.
источник

AO

Alexey Otts in Kotlin JVM
Azim Muradov
Я пишу wrapper, поэтому я в любом  случае не смогу использовать qraphql. А DSL нужен просто, чтобы формирование query для пользователя было с автодополнением, что удобнее.
А почему всё это не сделать просто аргументами функции?
источник

AM

Azim Muradov in Kotlin JVM
Alexey Otts
А почему всё это не сделать просто аргументами функции?
Тогда потеряется автодополнение, в данном примере id, name и public
источник

AM

Azim Muradov in Kotlin JVM
В принципе, DSL уже сделан, меня интересует именно чем лучше заменить Ktor
источник

AO

Alexey Otts in Kotlin JVM
Azim Muradov
В принципе, DSL уже сделан, меня интересует именно чем лучше заменить Ktor
можно чем то очень простым
источник

AO

Alexey Otts in Kotlin JVM
Мы используем async-http-client, но у него есть беда - документация примерно нулевая
источник

AM

Andrew Mikhaylov in Kotlin JVM
Azim Muradov
В принципе, DSL уже сделан, меня интересует именно чем лучше заменить Ktor
А есть необходимость заменять? Я бы ещё мог понять kotlinx.serialization, есть узкие места, которые без кастомных сериализаторов сделать невозможно, а апишка у них так себе. Но ktor-client -- хз, работает и работает.
источник

AM

Azim Muradov in Kotlin JVM
Alexey Otts
Мы используем async-http-client, но у него есть беда - документация примерно нулевая
Спасибо, попробую
источник

AE

Alexandr Emelyanov in Kotlin JVM
Phil Delgyado
Не, JDBC Templates удобнее. Хочу JDBC Templates для котлина. И для корутин )
DatabaseClient в 5 спринге
источник

PD

Phil Delgyado in Kotlin JVM
Alexandr Emelyanov
DatabaseClient в 5 спринге
Зачем мне спринг в котлине )
источник

P

Phoenix in Kotlin JVM
Phil Delgyado
Зачем мне спринг в котлине )
а как без спринга?
источник

PD

Phil Delgyado in Kotlin JVM
А зачем он?
источник

P

Phoenix in Kotlin JVM
dendency injection, и прочие штуки
источник

VP

Vladimir Petrakovich in Kotlin JVM
Phil Delgyado
Зачем мне спринг в котлине )
Затем же, зачем и в джаве?
источник

AE

Alexandr Emelyanov in Kotlin JVM
Phil Delgyado
Не мои кейсы. Мне вообще не нужны схемы и DSL для SQL, только простые мапперы и, может быть, дефолтовый маппер на рефлекшене.
Еще, конечно, корутины с  поддержкой транзакций были бы неплохи, но это уже слишком много хотеть.
Но сейчас у меня вообще нет SQL, так что это хотелки про будущее..
> корутины с  поддержкой транзакций были бы неплохи, но это уже слишком много хотеть

это реально и даже сделано уже
источник

PD

Phil Delgyado in Kotlin JVM
эээ, но как?
источник

AE

Alexandr Emelyanov in Kotlin JVM
Phil Delgyado
эээ, но как?
просто через контекст протягивается и все
источник

PD

Phil Delgyado in Kotlin JVM
Отдельный пул тредов для работы с БД - по треду на активную транзакцию?
источник

AA

Anton Arhipov in Kotlin JVM
Phil Delgyado
эээ, но как?
что значит как??? спринг официально поддерживает котлин. вся дока с примерами на нём
источник