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)
все круто, четко, ясно и коротко
Я бы и больше лайков поставил!..
Главное – не бросай!!!
Мсье, вы неистово облайканы! ^_^
Ураааа!!!! Наконец-то!!!! Лучший формат и подача, а главное польза! Спасибо и с наступающим!
Возьму на вооружение напевать песни, пока сервер стартует-рестартует, только на моем компе-старичке я целый альбом КиШа спою, пока проект сбилдится и стартанет )))
Спасибо вам большое за видео!!! Лучший формат во всем ютубе.
Спасибо за ролик! С наступающим Новым Годом!