|
Spring Jackson - как передать параметр в кастомный сериализатор
|
|||
---|---|---|---|
#18+
Есть сервис, обрабатывающий REST запросы. Результатом запроса должен быть JSON. В объектах, которые надо сереализовать в JSON есть поле - ну пусть "идентификатор типа". В результирующем JSON-е этот идентификатор должен раскрыться в два поля ID и NAME. Н унапример так Код: plaintext
Для этого я делаю кастомный сериализатор для этого поля. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
И связываю его с полем аннотацией Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Проблема в том, что в REST запросе в одном из параметров задается язык, на котором должно быть заполнено поле "name" Как мне передать идентификатор языка в кастомный сериализатор? Тем более, что сериализацию я явно не запускаю, а Spring сам по заголовку Accept RESTзапроса понимает что нужно конвертнуть ответ в JSON. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2018, 00:54 |
|
Spring Jackson - как передать параметр в кастомный сериализатор
|
|||
---|---|---|---|
#18+
Maxifly, А может тогда обойтись без кастомного сериализатора?! Т.е. просто создать модель данных, точь в точь, как нужно отдавать в JSON'е. Ну и сделать "преобразователь" от вашей модели данных в модель данных для JSON, там то все и учитывать, включая локализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2018, 05:17 |
|
Spring Jackson - как передать параметр в кастомный сериализатор
|
|||
---|---|---|---|
#18+
mad_nazgul, Да я и сам начал к этому склоняться уже. Так явно будет проще, чем с сериализаторами мутить. Но все равно интересно - должна же быть возможность контекст в сериализатор просунуть. Я уж подумал сделать у рутового класса атрибут с языком. Потом объявить кастомный сериализатор у рутового класса и там добраться до serializerProvider.getConfig().getAttributes() и в эти атрибуты воткнть свой ключ который взять из атрибута рутового класса. А потом уж сериализовать дочерние объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2018, 09:57 |
|
|
start [/forum/topic.php?fid=59&gotonew=1&tid=2121973]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 191ms |
0 / 0 |