У меня есть пружинный контроллер (MyController), который передает данные в формате json.
С некоторыми изменениями конфигурации я смогу повторно использовать тот же контроллер, и он будет обслуживать те же данные, но в формате xml, а не json.
Я бы хотел иметь возможность создать myControllerInstanceA и настроить его на использование / json в качестве базового URL, затем создать myControllerInstanceB и использовать его в качестве базового URL / xml.
Единственный способ сделать это - создать подкласс MyController и установить для @requestMapping подкласса значение / xml. Я бы предпочел выполнить некоторые настройки в своем файле springap-servlet.xml для достижения того же эффекта.
Возможно ли это?
Я предполагаю, что некоторые из вас, весенние волшебники, читающие это, возможно, подумали: "Какого черта он захочет это сделать". Итак, я объясню методы, которые я использую: я создаю контроллер, который добавляет простые Java-бины в ModelAndView. Контроллер также рекламирует представление. Представление принимает Java-бины и сериализует их в JSON или XML, в зависимости от того, как был настроен контроллер. Я думаю, что, возможно, есть более простой способ сделать это, но этот подход казался простым и достаточно простым. Кроме того, он позволяет мне работать с библиотекой JSON, с которой я знаком, а не с той, которую Spring, похоже, настроил для использования. Баллы для тех, кто говорит мне, как Spring это делает - как легко обслуживать те же данные, что и json или xml, максимально используя код контроллера.