powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / скала плей
8 сообщений из 33, страница 2 из 2
скала плей
    #39771414
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот еще делать мне больше нечего всякую дичь придумывать. права используются фронтендерами чтоб корректно отрисовать интерфейс без всяких там дозапросов. права не только крад но и кастомные.

ну в общем, еще как вариант вижу всё таки докручивать доп сервис и класть сущность в него, а он уже делает обертку, или тупо к джейсону прикручивает набор полей и возвращает респонз. топорно. но наверное, это лучшее. более прозрачно и неявно как это сделать я вариантов не вижу.

ну или снова имплиситы заюзать. и вместо Json.toJson(entity) сделать Json.toJsonWithAccessAttributes(entity) что в принципе тоже самое что сверху. подпорка.
...
Рейтинг: 0 / 0
скала плей
    #39771458
dimonz80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaTвот еще делать мне больше нечего всякую дичь придумывать. права используются фронтендерами чтоб корректно отрисовать интерфейс без всяких там дозапросов. права не только крад но и кастомные.

ну в общем, еще как вариант вижу всё таки докручивать доп сервис и класть сущность в него, а он уже делает обертку, или тупо к джейсону прикручивает набор полей и возвращает респонз. топорно. но наверное, это лучшее. более прозрачно и неявно как это сделать я вариантов не вижу.

ну или снова имплиситы заюзать. и вместо Json.toJson(entity) сделать Json.toJsonWithAccessAttributes(entity) что в принципе тоже самое что сверху. подпорка.

Не пойму этих терзаний. Все правильно ИМХО описал. Если случай простой и единичный то модифицируем JSON перед отдачей клиенту, если что-то более-менее периодическое, то implicit classes вполне решение, к тому же изолированное и то модели и от контроллера, которое можно вынести в отделный пакадж и подключать по мере необходимости.
...
Рейтинг: 0 / 0
скала плей
    #39771478
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTвот еще делать мне больше нечего всякую дичь придумывать.
тут имхо столкнулись паттерны статики динамики.
Я рассказал о классике Java и статике проектирования, но скала это динамика.
При обычном проектировании предпочтительнее заранее проектирование Модели и выше, выше по стеку до клиента.
При динамике ты вклиниваешься в процесс и добавляешь инфу (а ля рефлексия).
Ну а Скала:
авторScala богата выразительными средствами, за что ее и не любят опытные программисты на классических ООП-языках . Неявные параметры и преобразования — одна из самых спорных фич языка. Слово "неявные", уже как-бы намекает на что-то неочевидное и сбивающее с толку.
))
Ты так и не сказал в чём проблема, из твоего сервиса вызвать другой сервис чтобы полностью сформировать классы отправки.
Все решения хороши. Тебе решать.
IMHO
...
Рейтинг: 0 / 0
скала плей
    #39771945
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да спасибо. сделал уже. просто сделал сервис прослойку который оборачивает джейсон нужными полями.

теперь другую хрень нашел в этой убогой скале.

оказвыается передать тип просто как в джаве нельзя. или я не понял как.

передаю объект по интерфейсу маркеру, потом серализатору говорю что это объект с типом Т, тип Т чуть выше через самого интерфейса передаю. а эта скотина говорит что для такого типа нету сериализатора. а он имплиситли есть.
если явно скастовать в тип через .асИнстансОф[НазваниеКласса] - то работает. если кастовать в Т -- то не работает хотя Т = НазваниеКласса.
это какой то гон. с джавы рефлексию чтоль подключить. или через паттерн матчинг кастовать. да бред какой то.

почему зная класс объекта, видя этот класс объекта я не могу в него скастовать средствами скалы???
...
Рейтинг: 0 / 0
скала плей
    #39771947
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строгий вывод типов мать ево.
...
Рейтинг: 0 / 0
скала плей
    #39771950
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы сказал что он очень строгий ))

значит я снова чот не то делаю. ладно, попробую зайти с другого края.
...
Рейтинг: 0 / 0
скала плей
    #39771953
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще это принципы ФП. Они должны стоять выше чем возможности Java-рефлексии.

Хотя я возможно не совсем понял где ты что делаешь и как. Сорц бы помог.
...
Рейтинг: 0 / 0
скала плей
    #39771964
dimonz80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaTда спасибо. сделал уже. просто сделал сервис прослойку который оборачивает джейсон нужными полями.

теперь другую хрень нашел в этой убогой скале.

оказвыается передать тип просто как в джаве нельзя. или я не понял как.

передаю объект по интерфейсу маркеру, потом серализатору говорю что это объект с типом Т, тип Т чуть выше через самого интерфейса передаю. а эта скотина говорит что для такого типа нету сериализатора. а он имплиситли есть.
если явно скастовать в тип через .асИнстансОф[НазваниеКласса] - то работает. если кастовать в Т -- то не работает хотя Т = НазваниеКласса.
это какой то гон. с джавы рефлексию чтоль подключить. или через паттерн матчинг кастовать. да бред какой то.

почему зная класс объекта, видя этот класс объекта я не могу в него скастовать средствами скалы???

Дык откуда известно про сериализатор для ХЗ какого типа Т во время компиляции? Если используешь play.api.libs.json, то сигнатура Json.toJson требует инмлиситный параметр Writes[T].
Код: scala
1.
Json.toJson[T](o: T)(implicit tjs: Writes[T]): JsValue


вот и передавай своему методу тотже имплиситный параметр или указывай явно.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / скала плей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]