2010-01-28 4 views
1

Я хотел бы избежать встраивания HTML в XML, возвращаемого с веб-службы JAX-RS, но все же иметь возможность возвращать как XML, так и HTML в ответ на один GET.Как вернуть многостраничный контент с веб-службы JAX-RS?

Есть ли способ сделать это? Это плохая идея?

Сейчас я делаю 2 отдельных GET для разных ресурсов один XML один HTML - однако, поскольку оба ресурса всегда извлекаются вместе, это кажется расточительным и подверженным ошибкам.

ответ

1

Одним из способов вы можете сделать это, используя принцип покоя «гипермедиа как двигатель состояния приложения», иногда сокращенно HATEOAS.

Вы можете использовать URL в качестве атрибута вашего XML-тега.

<htmlResponse ref='http://yourUrlForHtml.com/getHtml' /> 

Таким образом, клиент сможет получить как XML и HTML возврат (если он хочет). он может сделать 1 или 2 звонков, и это не было бы расточительно.

+0

Это довольно близко к тому, что я в то время как клиент уже знает URI для обоих ресурсов заранее. anks для кончика HATEOS, я никогда не слышал об этом. – sylvanaar