У нас есть веб-служба ReST, которая использует POST - для вставки данных в базу данных (unmarshall data from XML) и GET для извлечения данных (marshalled в XML).
XSD используется для генерации объектов Java (с помощью JAXB-компилятора Sun) для маршалирования / демаршаллинга данных в базу данных и из нее.
Мы вроде заморозили XSD как есть, потому что мы думали, что это идеально моделирует данные - и это так, но только для публикации данных на самом деле.
Теперь, когда приходит время GET данных из базы данных, мне приходится «ломать» наш текущий XSD и разрешать ему публиковать первичные ключи и другие значения данных, которые не обрабатываются запросами POST-типа. не волнуйтесь, они излишни.
Итак, теперь XSD имеет дополнительные элементы (т.е. те, которые используются только для запросов GET). Это может привести к путанице, когда вам придется объяснять третьим сторонам, которые хотят использовать ваш веб-сервис, и у вас есть этот XSD, который имеет своего рода раздвоение личности между получением и публикацией данных. Он также не выглядит чистым и элегантным, как раньше.
Что мне делать? Можно ли в вашем XSD иметь элементы, которые используются только в определенных обстоятельствах (например, для получения данных)? Или я должен иметь 2 XSD - еще один подробный, предназначенный для запросов GET, и один уменьшенный, исключительно для запроса POST ??
Ваша помощь и совет - высоко ценится.