Я работаю над созданием конечной точки Spring REST WS (должен быть открыт только один внешний URL-адрес). Клиент хочет, чтобы мы подтвердили (200 OK), как только мы получим запрос и обработаем его в фоновом режиме. Клиент может отправлять различные типы полезной нагрузки xml в тело запроса для разных запросов. Например: в одном запросе клиент может отправлять данные Employee для добавления в xml-полезную нагрузку, а в другом запросе они могут отправлять данные клиента для дальнейшей обработки.Spring Rest WS: Как обрабатывать множество полезных данных XML в одной конечной точке?
В простейшем решения, мы могли бы сделать:
- создать JAXB аннотированной POJOs (Заказчик, Сотрудник, расширяющая на общий абстрактный класс; например, RequestPayload или что-то) , соответствующая каждую возможную полезную нагрузку XML,
- Получить полезную нагрузку XML в качестве строки на контроллере, определить имя корневого элемента ("сотрудник или„клиент“...) и
Используйте нашу unmarshaller (созданный с использованием JAXB) для преобразования XML-строки в экземпляр Employee/Customer POJO и сохраните эту ссылку в переменной 0PRequestPayload.
делать дальше на стороне сервера обработки ..
Просто не уверен, если это элегантное решение ..
ли пружины обеспечивают любую функциональность/расширение WRT для MessageConverters, который позволил бы нам делать шаги 1-3 в чистом/элегантном стиле?
Заранее спасибо.
Спасибо за ответ Raymond, но я действительно искал что-то подобное в рамках Spring. – ktewari