Size: a a a

Kotlin Community

2020 March 09

MM

Maksim Masiukevich in Kotlin Community
Hadji
Всем привет! Я тут хотел на досуге поиграться с ktor - написать JSON апишку, которая в постгрес пишет/читает. Функционал обычного интернет-магазина, допустим, для примера. И что-то никак не найду хороших/достаточно подробных доков для ktor и exposed, чтоб это сделать. Хочется логику моделировать с data classes, автоматически JSON в них десериализовать, валидировать, и опять же автоматически в постгрес писать. Вот тут у чувака решение наиболее близко к тому, что хочется, но, во-первых: слишком простой пример, а во-вторых: не хочется писать функции типа его toUser (и не очень понятно, где они должны быть описаны, если уж на то пошло). Можете подсказать какой-то ресурс, где можно покопаться в поисках best practices?
https://github.com/pgrest/pgrest вариант для оч ленивых)
источник

AN

Alexander Nozik in Kotlin Community
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Наверное невнятно выразился. https://docs.oracle.com/javase/8/javafx/api/javafx/collections/MapChangeListener.Change.html - там элементы по одному добавляются и удаляются. В листе может быть несколько элементов добавлено или удалено за раз, при этом в одном событии может быть несколько изменений
также в лист можно добавлять по одному, в мапе если используешь спец медоты которые полноценные колекции принимают - тоже должна быть атомарность, так как там событие посылается после. Завтра уже точно посмотрю
источник

H

Hadji in Kotlin Community
Alexander Nozik
А родная дока ктора чем плоха?
А, я прочитал "родная либа для ктора", сорри) Конечно, с нее и начал. У них нет никаких гайдлайнов для работы с БД, если не ошибаюсь. Даже полные примеры приложений для упрощения без БД обходятся (конкретно в youkube пытался найти, что нужно)
источник

H

Hadji in Kotlin Community
Maksim Masiukevich
https://github.com/pgrest/pgrest вариант для оч ленивых)
Репку 5 лет никто не трогал)
источник

BP

Bogdan Panchenko in Kotlin Community
Hadji
Всем привет! Я тут хотел на досуге поиграться с ktor - написать JSON апишку, которая в постгрес пишет/читает. Функционал обычного интернет-магазина, допустим, для примера. И что-то никак не найду хороших/достаточно подробных доков для ktor и exposed, чтоб это сделать. Хочется логику моделировать с data classes, автоматически JSON в них десериализовать, валидировать, и опять же автоматически в постгрес писать. Вот тут у чувака решение наиболее близко к тому, что хочется, но, во-первых: слишком простой пример, а во-вторых: не хочется писать функции типа его toUser (и не очень понятно, где они должны быть описаны, если уж на то пошло). Можете подсказать какой-то ресурс, где можно покопаться в поисках best practices?
exposed и JSOMN вместе не робют, в проэкте вроде это было описано
источник

MM

Maksim Masiukevich in Kotlin Community
Hadji
Репку 5 лет никто не трогал)
оно работает :)
источник

H

Hadji in Kotlin Community
Maksim Masiukevich
оно работает :)
Справедливо) Спасибо, посмотрю хоть в качестве вдохновения
источник

BP

Bogdan Panchenko in Kotlin Community
Maksim Masiukevich
https://github.com/pgrest/pgrest вариант для оч ленивых)
+ котлин серелизация)
источник

AN

Alexander Nozik in Kotlin Community
Hadji
А, я прочитал "родная либа для ктора", сорри) Конечно, с нее и начал. У них нет никаких гайдлайнов для работы с БД, если не ошибаюсь. Даже полные примеры приложений для упрощения без БД обходятся (конкретно в youkube пытался найти, что нужно)
Ну так оно не связано. Если вы не хотите руками генерить json вам нужно одно представление для базы данных, одно для апи. Если представления совпадают, можно использовать один и тот же объект
источник

H

Hadji in Kotlin Community
Но я хотел чуть более фундаментальный ресурс, что ли. Вдруг я вообще не прав в своем желании data classes лепить, а надо просто exposed таблички брать и использовать в качестве моделей. Такой условный django вариант, получается, если я правильно понимаю)
источник

AN

Alexander Nozik in Kotlin Community
Hadji
Но я хотел чуть более фундаментальный ресурс, что ли. Вдруг я вообще не прав в своем желании data classes лепить, а надо просто exposed таблички брать и использовать в качестве моделей. Такой условный django вариант, получается, если я правильно понимаю)
ну так вроде вполне можно и таблички, там такая опция была по-моему. Датность классов тут не нужна на самом деле, вы их не будете копировать и сравнивать.
источник

H

Hadji in Kotlin Community
(Давайте на "ты" сразу со всеми, кто не против)
источник

AN

Alexander Nozik in Kotlin Community
Hadji
(Давайте на "ты" сразу со всеми, кто не против)
не против, но я автоматом, отучиваться долго.
источник

AL

Alexander Levin in Kotlin Community
Hadji
Но я хотел чуть более фундаментальный ресурс, что ли. Вдруг я вообще не прав в своем желании data classes лепить, а надо просто exposed таблички брать и использовать в качестве моделей. Такой условный django вариант, получается, если я правильно понимаю)
Периодически работает подглядывать на KotlinConf App, раз в год точно будут обновлять :)

https://github.com/JetBrains/kotlinconf-app

*правда там походу не Exposed, а Squash сейчас
источник

H

Hadji in Kotlin Community
Про сквош вот тут видел, что он уже чуток не поддерживается:
https://github.com/JetBrains/Exposed/wiki/FAQ
источник

AL

Alexander Levin in Kotlin Community
Hadji
Про сквош вот тут видел, что он уже чуток не поддерживается:
https://github.com/JetBrains/Exposed/wiki/FAQ
Ну, если верить этому же описанию, он как минимум похож, так что подсмотреть концептуально наверное всё ещё можно
источник

H

Hadji in Kotlin Community
Alexander Levin
Периодически работает подглядывать на KotlinConf App, раз в год точно будут обновлять :)

https://github.com/JetBrains/kotlinconf-app

*правда там походу не Exposed, а Squash сейчас
О! Вот прям хорошо) Спасибо)
источник

H

Hadji in Kotlin Community
Спасибо всем за советы)
источник

D

Denys in Kotlin Community
Недавно, кстати, попробовал в пэт-проекте Xodus.
Присоединяюсь к восторженным отзывам. 🌚

https://github.com/JetBrains/xodus
источник