В Mule в настоящее время я использую собственный преобразователь "JavaObjectToJSON" (в качестве преобразователя ответа) для преобразования POJO в JSON, т.е. мой компонентный класс возвращает объект Java ( List или HashMap ) и этот преобразователь преобразует его в JSON и возвращает результат.
Мой код похож на:
<flow name="OfferingDetails">
<http:inbound-endpoint address="http://localhost:1212/jcore/offering/details"
transformer-refs="HttpParams" responseTransformer-refs="JavaObjectToJSON">
</http:inbound-endpoint>
<component class="main.java.com.raman.jcore.OfferingDetails"/>
</flow>
Теперь предположим, что я хочу вернуть результат в XML. Для этого я могу использовать другой пользовательский преобразователь "JavaObjectToXML", который может сделать то же самое аналогичным образом.
Но мой вопрос, как я могу сделать это динамически . Например, если я предоставлю клиенту выбор того, как ему нужны данные. И он может нажать на ссылку, как
- "http://localhost:1212/jcore/offering/details/?response=json"
- "http://localhost:1212/jcore/offering/details.json/"
ИЛИ
- "http://localhost:1212/jcore/offering/details/?response=xml"
- "http://localhost:1212/jcore/offering/details.xml/
И поэтому я смогу изменить трансформатор на время выполнения и вернуть результат в соответствующей записи. Есть ли способ сделать это .. ??
или кроме изменения трансформатора, любой другой обходной путь ??
Пожалуйста, помогите мне. Я застрял в этом.