jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5916

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

Всмысле только геттеры? Только ломбок?

Читать полностью…

pro.jvm

Какой порядок аннотаций, лол

Читать полностью…

pro.jvm

помогите, при компиляции jvm выдает прикол что мой класс не содержит геттеров, использую библиотеку lombok и в папке таргет все геттеры отображаются как сгенерированные

Читать полностью…

pro.jvm

У тебя сложный способ.
Для мока authentication есть готовая аннотация. Загугли тестирование jwt security spring boot. И найдешь статью на baeldung.
И зачем ты руками создаешь контроллер?

Читать полностью…

pro.jvm

Наоборот, фигурные скобки всегда класс

Читать полностью…

pro.jvm

для эксперимента переписал у себя - идейка подсвечивает красным, а сборка работает и тесты зеленые😂

Читать полностью…

pro.jvm

все опирается на культуру ревью в конечном итоге

Читать полностью…

pro.jvm

а тесты поймали бы ошибку на вставке null

Читать полностью…

pro.jvm

хотя да, тот кто сделал правку должен был бы и маппинг поправить (если мы говорим о кастомном, как в моем случае FilmFields, наборе филдов)

Читать полностью…

pro.jvm

как только ты это в миграции поменял, ты автоматом поменяешь в конвертации поля

+ тесты

твой сценарий возможен либо в командах с низкой инженерной культурой, либо там, где не ты хозяин бд

Читать полностью…

pro.jvm

ослабляет. код считает что по дефолту все nullable, мы точечно правим и зашиваем в код. какое-то поле меняется на not nullable, генеренный код не меняется, наш ручной маппинг тоже...

Читать полностью…

pro.jvm

но ведь не ослабляет, мы просто фиксим баг ленивца эдера

Читать полностью…

pro.jvm

меня только одно расстраивает в таком подходе, как и любом другом для обхода бага - оно ослабляет compile time проверки по сути

Читать полностью…

pro.jvm

её писать во всех селектах тогда

Читать полностью…

pro.jvm

и потом в select использовать FilmFields

Читать полностью…

pro.jvm

Еще какие-то генераторы кода есть? Mapstruct например

Читать полностью…

pro.jvm

Там по-моему порядок аннотаций важен над классом. И тебе сюда @javastart

Читать полностью…

pro.jvm

не вижу аннотации @AuthenticationPrincipal в контроллере, где у тебя Authentication creator

Читать полностью…

pro.jvm

Всем привет!
Столкнулся со следующей проблемой: пытаюсь протестировать контроллер с помощью standaloneSetup конфигурации MockMvc, но для обработки запроса, необходимо заинжектить объект Authentication в метод контроллера. Для этого мокаю SecurityContext. Но при всякой попытке запустить тест получаю ошибку. Сразу скажу, по части тестирования я мало чего понимаю, но судя по всему, запрос должен обрабатываться корректно, а объект Authentication спокойно доставаться из SecurityContext. Если кто подскажет, как решить эту проблему, буду сильно благодарен. Скрины кода и ошибки прилагаю.

Читать полностью…

pro.jvm

Фигурные скобочки есть - уже не сасно

Читать полностью…

pro.jvm

но все равно из коробки без костылей было бы лучше

Читать полностью…

pro.jvm

так что в норм тимах не вижу вариантов, как бы это протекло в мэйн

Читать полностью…

pro.jvm

да и его мр не должен был быть слит без этого

Читать полностью…

pro.jvm

ну кто-то слил свою правку, ты писал новый код к этому полю и ребейзнулся.

тут только тесты и культура ревью

Читать полностью…

pro.jvm

сборка будет зеленой. а если тестов на это место нет - поймаем только в рантайм

Читать полностью…

pro.jvm

который закрывает ишью на гитхабе, а у народа наллабл в кодгене

Читать полностью…

pro.jvm

как и маппер с рефлексией, там вообще неявно это делается

Читать полностью…

pro.jvm

ну вот свой маппер написать, я уже об этом говорил как раз

Читать полностью…

pro.jvm

+ можно просто экстеншен функцию сделать

Читать полностью…

pro.jvm

object FilmFields {

val ID = FILM.ID.nonNullable()
val NAME = FILM.NAME.nonNullable()
val LINK = FILM.LINK
val POSTER_LINK = FILM.POSTER_LINK
val STATE = FILM.STATE.nonNullable()

}

inline fun <T> Field<T>.nonNullable() = convertFrom { it!! }

Читать полностью…
Subscribe to a channel