API-интерфейс Restlet имеет обширную поддержку заголовка «Accept». Информация анализируется и доступна по методу Request.getClientInfo().getAcceptedMediaTypes()
: List<Preference<MediaType>>
.
Теперь, чтобы автоматически согласовывать содержимое для вас, движок Restlet должен иметь информацию о доступных вариантах. Это цель org.restlet.resource.Resource class
в Restlet 1.1 и новый org.restlet.resource.ServerResource
класс в версии Restlet 2.0.
В Restlet 1.1, вы создаете подкласс ресурсов, объявить варианты, как это:
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_XML));
Затем переопределить represent(Variant)
метод, как это:
public Representation represent(Variant){
if(MediaType.TEXT_PLAIN.equals(variant.getMediaType()){
...
else if(...)
...
}
С наилучшими пожеланиями, Jerome
PS: пожалуйста, используйте наш список рассылки для будущих вопросов и посмотрите в архивах: http://www.restlet.org/community/lists
Я немного исправлю ваш ответ: public Представление представляет (вариант варианта) {if (MediaType.TEXT_PLAIN.isCompatible (variant.getMediaType()) {... else if (...) ...} Итак, вместо usos methos equals() используйте isCompatible() – Dani