|
скала плей
|
|||
---|---|---|---|
#18+
вот еще делать мне больше нечего всякую дичь придумывать. права используются фронтендерами чтоб корректно отрисовать интерфейс без всяких там дозапросов. права не только крад но и кастомные. ну в общем, еще как вариант вижу всё таки докручивать доп сервис и класть сущность в него, а он уже делает обертку, или тупо к джейсону прикручивает набор полей и возвращает респонз. топорно. но наверное, это лучшее. более прозрачно и неявно как это сделать я вариантов не вижу. ну или снова имплиситы заюзать. и вместо Json.toJson(entity) сделать Json.toJsonWithAccessAttributes(entity) что в принципе тоже самое что сверху. подпорка. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 22:21 |
|
скала плей
|
|||
---|---|---|---|
#18+
andreykaTвот еще делать мне больше нечего всякую дичь придумывать. права используются фронтендерами чтоб корректно отрисовать интерфейс без всяких там дозапросов. права не только крад но и кастомные. ну в общем, еще как вариант вижу всё таки докручивать доп сервис и класть сущность в него, а он уже делает обертку, или тупо к джейсону прикручивает набор полей и возвращает респонз. топорно. но наверное, это лучшее. более прозрачно и неявно как это сделать я вариантов не вижу. ну или снова имплиситы заюзать. и вместо Json.toJson(entity) сделать Json.toJsonWithAccessAttributes(entity) что в принципе тоже самое что сверху. подпорка. Не пойму этих терзаний. Все правильно ИМХО описал. Если случай простой и единичный то модифицируем JSON перед отдачей клиенту, если что-то более-менее периодическое, то implicit classes вполне решение, к тому же изолированное и то модели и от контроллера, которое можно вынести в отделный пакадж и подключать по мере необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 03:01 |
|
скала плей
|
|||
---|---|---|---|
#18+
andreykaTвот еще делать мне больше нечего всякую дичь придумывать. тут имхо столкнулись паттерны статики динамики. Я рассказал о классике Java и статике проектирования, но скала это динамика. При обычном проектировании предпочтительнее заранее проектирование Модели и выше, выше по стеку до клиента. При динамике ты вклиниваешься в процесс и добавляешь инфу (а ля рефлексия). Ну а Скала: авторScala богата выразительными средствами, за что ее и не любят опытные программисты на классических ООП-языках . Неявные параметры и преобразования — одна из самых спорных фич языка. Слово "неявные", уже как-бы намекает на что-то неочевидное и сбивающее с толку. )) Ты так и не сказал в чём проблема, из твоего сервиса вызвать другой сервис чтобы полностью сформировать классы отправки. Все решения хороши. Тебе решать. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 09:11 |
|
скала плей
|
|||
---|---|---|---|
#18+
да спасибо. сделал уже. просто сделал сервис прослойку который оборачивает джейсон нужными полями. теперь другую хрень нашел в этой убогой скале. оказвыается передать тип просто как в джаве нельзя. или я не понял как. передаю объект по интерфейсу маркеру, потом серализатору говорю что это объект с типом Т, тип Т чуть выше через самого интерфейса передаю. а эта скотина говорит что для такого типа нету сериализатора. а он имплиситли есть. если явно скастовать в тип через .асИнстансОф[НазваниеКласса] - то работает. если кастовать в Т -- то не работает хотя Т = НазваниеКласса. это какой то гон. с джавы рефлексию чтоль подключить. или через паттерн матчинг кастовать. да бред какой то. почему зная класс объекта, видя этот класс объекта я не могу в него скастовать средствами скалы??? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 22:56 |
|
скала плей
|
|||
---|---|---|---|
#18+
Строгий вывод типов мать ево. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 23:01 |
|
скала плей
|
|||
---|---|---|---|
#18+
я бы сказал что он очень строгий )) значит я снова чот не то делаю. ладно, попробую зайти с другого края. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 23:20 |
|
скала плей
|
|||
---|---|---|---|
#18+
Вообще это принципы ФП. Они должны стоять выше чем возможности Java-рефлексии. Хотя я возможно не совсем понял где ты что делаешь и как. Сорц бы помог. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 23:23 |
|
скала плей
|
|||
---|---|---|---|
#18+
andreykaTда спасибо. сделал уже. просто сделал сервис прослойку который оборачивает джейсон нужными полями. теперь другую хрень нашел в этой убогой скале. оказвыается передать тип просто как в джаве нельзя. или я не понял как. передаю объект по интерфейсу маркеру, потом серализатору говорю что это объект с типом Т, тип Т чуть выше через самого интерфейса передаю. а эта скотина говорит что для такого типа нету сериализатора. а он имплиситли есть. если явно скастовать в тип через .асИнстансОф[НазваниеКласса] - то работает. если кастовать в Т -- то не работает хотя Т = НазваниеКласса. это какой то гон. с джавы рефлексию чтоль подключить. или через паттерн матчинг кастовать. да бред какой то. почему зная класс объекта, видя этот класс объекта я не могу в него скастовать средствами скалы??? Дык откуда известно про сериализатор для ХЗ какого типа Т во время компиляции? Если используешь play.api.libs.json, то сигнатура Json.toJson требует инмлиситный параметр Writes[T]. Код: scala 1.
вот и передавай своему методу тотже имплиситный параметр или указывай явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 01:22 |
|
|
start [/forum/topic.php?fid=59&msg=39771964&tid=2121489]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 457ms |
0 / 0 |