у меня есть:Restlet Directory - по умолчанию index.html файла не служило
Directory webdir = new Directory(getContext(), "clap://class/webapp");
webdir.setDeeplyAccessible(true);
router.attach("",webdir);
Это работает, когда обслуживают все файлы в каталоге по имени.
Однако при посещении «/» он должен служить index.html
, и это не так. Я пробовал все комбинации путей, дополнительных маршрутизаторов и т. Д. И т. Д., И он все еще не работает.
Когда вы посещаете «/», вы получаете ответ 200 и тип содержимого приложения/октета-потока. Ответ иначе пуст. getIndexName
на каталог уверяет меня, что это index
Я также пытался getMetadataService().addExtension("html", MediaType.TEXT_HTML, true);
помочь ему подобрать файл index.html, но безрезультатно, а также установить заголовок принять в запросе на текст/HTML.
ETA: это одно и то же (нерешенная) проблема, которая описана здесь: http://restlet-discuss.1400322.n2.nabble.com/Serving-static-files-using-Directory-and-CLAP-from-a-jar-td7578543.html
Может кто-нибудь помочь с этим? Это сводит меня с ума.
После немного возился у меня есть этот обходной путь на месте, но я предпочел бы не переадресовать, если это возможно:
Redirector redirector = new Redirector(getContext(), "/index.html", Redirector.MODE_CLIENT_PERMANENT);
TemplateRoute route = router.attach("/",redirector);
route.setMatchingMode(Template.MODE_EQUALS);
Вы пытались использовать webdir.setIndexName ("index.html"); ? –