Restlet API имеет обширную поддержку заголовка «Принять». Информация анализируется и доступна методом 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 вы создаете подкласс Resource, объявляете варианты следующим образом:
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(...)
...
}
С уважением,
Джером
PS: пожалуйста, используйте наш список рассылки для будущих вопросов и посмотрите в архивах:
http://www.restlet.org/community/lists