Size: a a a

Kotlin Community

2020 August 11

IS

Ivan Sablin in Kotlin Community
Ребят, привет! Вопрос про сериализацию котлиновскую. Как-то можно сделать @SerialName, но с несколькими именами? Например, есть одна модель и два метода апи, которые мы хотим использовать так, чтобы оба возвращали одну и ту же модель, только имена у свойств могут быть разные. Что с этим можно сделать?
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
requireNotNull(somethingNullable) vs somethingNullable!!?
"мамой клянусь" должен быть только там, где ты реально гарантируешь, что нула не будет
источник

PE

Pavel Erokhin in Kotlin Community
Alexander Nozik
"мамой клянусь" должен быть только там, где ты реально гарантируешь, что нула не будет
отличный пример
источник

AN

Alexander Nozik in Kotlin Community
Ivan Sablin
Ребят, привет! Вопрос про сериализацию котлиновскую. Как-то можно сделать @SerialName, но с несколькими именами? Например, есть одна модель и два метода апи, которые мы хотим использовать так, чтобы оба возвращали одну и ту же модель, только имена у свойств могут быть разные. Что с этим можно сделать?
Так вроде можно serialName на поле повесить
источник

IS

Ivan Sablin in Kotlin Community
Alexander Nozik
Так вроде можно serialName на поле повесить
можно, но можно ли несколько?
источник

AN

Alexander Nozik in Kotlin Community
Ivan Sablin
можно, но можно ли несколько?
Не понял вопроса тогда. В разных местах разные имена или в одном и том же разные?
источник

PE

Pavel Erokhin in Kotlin Community
Alexander Nozik
Не понял вопроса тогда. В разных местах разные имена или в одном и том же разные?
в одном и том же разрешить несколько имен
источник

IS

Ivan Sablin in Kotlin Community
есть два json, в одном поле называется a, в другом b. Как используя одну модель и два разных апишных метода, заставить все это нормально сериализоваться?
источник

PE

Pavel Erokhin in Kotlin Community
Он хочет типа

@SerialName("sadsad")
@SerialName("kek")
val name: String
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
Не понял вопроса тогда. В разных местах разные имена или в одном и том же разные?
{ "foo": 5 } и { "bar": 5 } уметь парсить в одну и ту же структуру (написать что какая-то проперти может быть foo или bar)
источник

AH

Ayrat Hudaygulov in Kotlin Community
Quantum Harmonizer
зачем их «чекать», если компилятор сам?
иногда не вывозит
источник

QH

Quantum Harmonizer in Kotlin Community
Ayrat Hudaygulov
иногда не вывозит
?
источник

IS

Ivan Sablin in Kotlin Community
да, в принципе ребята правильно поняли
источник

AH

Ayrat Hudaygulov in Kotlin Community
иногда компилятор не может понять что где-то что-то точно не null
источник

QH

Quantum Harmonizer in Kotlin Community
Ayrat Hudaygulov
иногда компилятор не может понять что где-то что-то точно не null
ну это смарткасты, а я про параметры
источник

AN

Alexander Nozik in Kotlin Community
Ivan Sablin
есть два json, в одном поле называется a, в другом b. Как используя одну модель и два разных апишных метода, заставить все это нормально сериализоваться?
Боюсь без кастомного сериализатора не получится. Я что-то такое делал в xml, но там Поль чего-то специфичное для этого делал
источник

AM

Andrew Mikhaylov in Kotlin Community
Pavel Erokhin
require \ check, конкретно не знаю между ними разницы, кроме типа исключения
Только в типе и есть разница, у каждого из этих исключений своя семантика. Require позволяет валидировать входы в функцию (arguments), check -- всё остальное (state).
источник

PE

Pavel Erokhin in Kotlin Community
Andrew Mikhaylov
Только в типе и есть разница, у каждого из этих исключений своя семантика. Require позволяет валидировать входы в функцию (arguments), check -- всё остальное (state).
Понял, спасибо
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
ну это смарткасты, а я про параметры
Параметры могут между собой иметь связь, невыразимую даже в контрактах. Бывает нечастно, иногда это само по себе code smell, но в 100% случаев избежать этого невозможно.
источник

AN

Alexander Nozik in Kotlin Community
Ivan Sablin
есть два json, в одном поле называется a, в другом b. Как используя одну модель и два разных апишных метода, заставить все это нормально сериализоваться?
Довольно легко через json трансформацию сделать если это json
источник