Spring Boot Rest應用程序:使用JsonView批註通過WebSocket發送的欄位限制,對Json中的對象進行序列化。這將使我們僅將必要的數據發送到客戶端應用程序。
視頻中的代碼:
https://github.com/drucoder/sarafan/tree/WsJsonView
同樣,在這兩者之間,讓我們配置其餘應用程序,以便所有更改請求都通過http請求,並且更改通知僅通過WebSocket發送。
為此,我們將添加一個新的DTO對象,該對象將存儲該對象,其類型以及所使用的操作類型(CREATE,UPDATE,REMOVE)。
龍目島項目:
Jackson和JsonView設置:
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡Twitter:https://twitter.com/letsCodeDru
Disc在Discord中聊天:https://discord.gg/xs6XxSx
➡VKontakte組:https://vk.com/letscodedru
gram電報頻道:https://t.me/letsCode_dru
Tele在電報中聊天:https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
支持項目:
➡Patreon https://www.patreon.com/letscodedru
➡Yandex.Money https://money.yandex.ru/to/41001451675086
➡貝寶paypal.me/letscodedru
➡Qiwi https://qiwi.me/letscode
Mo WebMoney /比特幣https://funding.webmoney.ru/d/drucoder
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡連結至頻道:https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ
to鏈接到Yandex.Zen:https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5。
Спасибо! Не могли бы вы объяснить, какова тут роль консюмера? Неужели не нагляднее было создать инстанс сендера с теми же переданными параметрами и методом send()?
ООО одна из моих любимых песен КиШа!!
А так , спасибо за уроки!!
Их ценность еще более ощутима, когда проходит время и ты встречаешь подобные темы и тебе уже не кажется все это безумно сложным.
Этот финт ушами не понял 5:26 зачем ловить один тип исключений и тут же бросать другой?
Kрутые уроки! Спасибо! Только у меня ошибка при update – PUT 405. Как это можно исправить?
Отличный мануал! Андрей, Вы на протяжении всех видео топите за Lombok, а почему не используете @RequiredArgsConstructor вместо ручного создания конструктора с final полями?
Как можно победить вот такую ошибку при компиляции проекта?
C:…sarafansrcmainjavainitcodesarafanutilWsSender.java:41: error: constructor WsEventDto in class WsEventDto cannot be applied to given types;
new WsEventDto(objectType, eventType, value)
^
required: no arguments
found: ObjectType,EventType,String
reason: actual and formal argument lists differ in length
1 error
Стабильно валится именно на этом. Отловить самостоятельно не получается.
Код https://github.com/AlexLazareva/sarafan/blob/master/src/main/java/initcode/sarafan/util/WsSender.java
Привет! Сутки уже ломаю голову. После прошлого урока все работало, а после этого – whitelabel при попытке авторизации There was an unexpected error (type=Internal Server Error, status=500).
PreparedStatementCallback; SQL [UPDATE SPRING_SESSION SET SESSION_ID = ?, LAST_ACCESS_TIME = ?, MAX_INACTIVE_INTERVAL = ?, EXPIRY_TIME = ?, PRINCIPAL_NAME = ? WHERE PRIMARY_ID = ?]; ERROR: value too long for type character varying(100); nested exception is org.postgresql.util.PSQLException: ERROR: value too long for type character varying(100)
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [UPDATE SPRING_SESSION SET SESSION_ID = ?, LAST_ACCESS_TIME = ?, MAX_INACTIVE_INTERVAL = ?, EXPIRY_TIME = ?, PRINCIPAL_NAME = ? WHERE PRIMARY_ID = ?]; ERROR: value too long for type character varying(100); nested exception is org.postgresql.util.PSQLException: ERROR: value too long for type character varying(100)
Что делать? 🙁
Отличные видео! Спасибо!
I wish the videos were in english so I could understand more. Good work.
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо! Отличный и лаконичный материал!
Спасибо, очень полезные уроки
как всегда, шедеврально!!!
У меня почему-то ни в какую не хотят работать сокеты. нет синхронизации между пользователями. подскажите в каком направлении копать. код перепроверил. спасибо.
Вопрос куда мы это отправляем в космос ?
в ws.js stompClient.send("/app/changeMessage", {}, JSON.stringify(message))
есть адрес "changeMessage" мы же удалили
Ошибка синтаксического анализа XML: корневой элемент не найден
Крутой урок
а как называется шаблон который реализуется в WsSender?
Почему мы делаем splice в двух местах при удалении один раз в MessageList.vue и один раз в App.vue (две строчки уходит таким образом)? Я так понимаю нужно оставить только в App.vue
клиенту не уйдет пустое сообщение в случае ошибки, так как RuntimeException в итоге пробрасывается
Просто спасибо!
"Во первых удалим эту гребаную единицу" ???
У меня если перед удалением не проверять индекс на -1, удаляется лишнего.
Топ!
Лайк. Спасибо за подарок на Новый год))
за КИШ`а дополнительный респект)
Спасибо за проделанный труд! Очень полезно и интересно
Интересный возник момент. При удалении сообщения из середины списка – удалялось сразу 2! сообщения (но только в активном браузере). Изменил немного метод deleteMessage в MessageList.vue:
this.messages.splice(this.messages.indexOf(message), 1)
на
this.messages.splice(message.id, 1)
– может кому будет полезно
Отдельное спасибо за BiConsumer)
все круто, четко, ясно и коротко
Я бы и больше лайков поставил!..
Главное – не бросай!!!
Мсье, вы неистово облайканы! ^_^
Ураааа!!!! Наконец-то!!!! Лучший формат и подача, а главное польза! Спасибо и с наступающим!
Возьму на вооружение напевать песни, пока сервер стартует-рестартует, только на моем компе-старичке я целый альбом КиШа спою, пока проект сбилдится и стартанет )))
Спасибо вам большое за видео!!! Лучший формат во всем ютубе.
Спасибо за ролик! С наступающим Новым Годом!