Как правильно создавать версии медиа в openrasta?До этого момента в одном из наших остальных API-интерфейсов мы указывали пользовательские типы мультимедиа с номером версии в них:
application/vnd.company.Entity-v1+xml
В настоящее время все эти типы мультимедиа просто передаются в пользовательский кодек, который мы определили для удалениянекоторые из тегов по умолчанию и тегов ns, которые XmlSerializer вставляет при сериализации.В верхней части этого кодека у нас есть:
[MediaType("application/vnd.company.Entity-v1+xml")]
Теперь мы подошли к моменту, когда у нас есть клиенты, которым нужны пользовательские атрибуты и элементы в XML и, таким образом, мы создали новую сущность, которая обрабатывает эти атрибуты иэлементы, которые происходят от сущности.Теперь у нас есть задача переместить определенных клиентов в новую сущность (EntityV2), однако я не уверен, как справиться с этим в контексте OpenRasta, когда дело доходит до передачи этого нового типа сущности в обработчики.Вот что мы подумали до сих пор:
- Добавьте еще один метод POST в наш обработчик для обработки производного типа
- Создайте совершенно новый URL для обработки новой сущности
- Создайте новый тип мультимедиа и затем направьте запросы каким-либо образом новому обработчику.Это будет наибольшим усилием, так как мы пытаемся повторно использовать тот же обработчик с небольшим количеством логики принятия решения, чтобы определить, что нужно сделать с новыми элементами / атрибутами.
Любой совет будет оченьоценили!