Как вы возвращаете составное содержимое из веб-службы JAX-RS?
-
23-09-2019 - |
Вопрос
Я бы хотел избежать встраивания HTML в XML, возвращаемый из моего веб-сервиса JAX-RS, но при этом иметь возможность возвращать как XML, так и HTML в ответе на один GET.
Есть ли способ сделать это?Разве это плохая идея?
Прямо сейчас я делаю 2 отдельных GET для разных ресурсов: один XML, один HTML - однако, поскольку оба ресурса всегда извлекаются вместе, это кажется расточительным и подверженным ошибкам.
Решение
Один из способов, которым вы могли бы это сделать, - использовать принцип rest "Гипермедиа как движок состояния приложения”, иногда сокращенный как HATEOAS.
Вы можете использовать URL-адрес в качестве атрибута вашего xml-тега.
<htmlResponse ref='http://yourUrlForHtml.com/getHtml' />
Таким образом, клиент сможет получить как xml, так и html-возврат (если захочет).Он может сделать 1 или 2 звонка, и это не было бы расточительством.