Spring настраивает формат @ResponseBody JSON - PullRequest
39 голосов
/ 28 января 2011

Представьте, что у меня есть этот аннотированный метод в Spring 3 @ Controller

@RequestMapping("")
public @ResponseBody MyObject index(@RequestBody OtherObject obj) {
    MyObject result = ...;
    return result;
}

Но мне нужно настроить выходной формат json, как если бы я делал:

ObjectMapper om = new ObjectMapper();
om.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, true);
om.getSerializationConfig()
        .setSerializationInclusion(JsonSerialize.Inclusion.NON_DEFAULT);
om.getSerializationConfig()
        .set(SerializationConfig.Feature.INDENT_OUTPUT, false);

Есть ли способ настроить это поведение?

Я нашел пару связанных вопросов, но я не уверен, как адаптировать их к моему конкретному случаю:

  1. пружинный префиксjson с ответным телом
  2. Кто устанавливает тип содержимого ответа в Spring MVC (@ResponseBody)

Спасибо!

Ответы [ 11 ]

1 голос
/ 09 февраля 2011

Да, но что произойдет, если вы начнете использовать миксины, например, вы не можете использовать ObjectMapper в качестве одиночного, потому что вы будете применять конфигурацию глобально.То есть вы будете добавлять или устанавливать классы mixin для одного экземпляра ObjectMapper?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...