Я не смог найти то, что мне нужно, в документации по откату, и мне пришлось поиграть с ним, чтобы найти решение.Это решение для встроенного веб-сервера, так как это то, что я искал.Я пытался сделать это для одностраничного приложения Angular 2+ с маршрутизацией.Вот к чему я пришел:
masterPathHandler.addPrefixPath( "/MY_PREFIX_PATH_", myCustomServiceHandler )
.addPrefixPath( "/MY_PREFIX_PATH",
new ResourceHandler( new FileResourceManager( new File( rootDirectory+"/MY_PREFIX_PATH" ), 4096, true, "/" ),
new FileErrorPageHandler( Paths.get( rootDirectory+"/MY_PREFIX_PATH/index.html" ) , StatusCodes.NOT_FOUND ) ) );
Вот что он делает:
- myCustomServiceHandler предоставляет обработчик для логики на стороне сервера для обработки запросов, отправляемых на сервер
- ResourceManager / FileResourceManager доставляет файлы, расположенные в (угловом) корневом пути приложения
- FileErrorPageHandler отображает страницу index.html приложения вСобытие, что запрос к пути на стороне клиента вместо реального файла.Этот файл также обрабатывается в случае неправильного запроса файла.
Обратите внимание на подчеркивание '_' после первого 'MY_PREFIX_PATH'.Я хотел, чтобы URL-адрес API приложения совпадал с веб-путем, но без лишней логики я остановился на подчеркивании.