Гексоново-зависимая сериализация - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь ограничить передачу данных с сервера на клиент через REST. Можно ли изменить сериализатор Джексона в зависимости от уровня, на котором он находится?

, например: Уровень 0, делайте как обычно. Уровень 1, используйте сериализатор с меньшим количеством полей.

У меня есть собственный сериализатор, но он также используется на уровне 0.

1 Ответ

0 голосов
/ 14 октября 2019

Нашел ответ, на самом деле довольно просто:

    JsonStreamContext jsonStreamContext = jsonGenerator.getOutputContext();
    if (jsonStreamContext.getParent() == null || jsonStreamContext.getParent().toString().equals("/")) {
        defaultSerializer.serialize(item, jsonGenerator, serializerProvider);
    } else {
        jsonGenerator.writeStartObject();
        jsonGenerator.writeNumberField("id", item.getId());
        jsonGenerator.writeStringField("name", item.getName());
        jsonGenerator.writeEndObject();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...