У меня есть 3 файла маршрута, а именно web.route, admin.routes и swift.routes соответственно. Каждый из этих файлов маршрутов представляет субдомен и должен быть изменен на основе пути субдомена URI. Играйте в Java, пожалуйста!
public Handler onRouteRequest(RequestHeader requestHeader) {
String host = requestHeader.getHeader(Http.HeaderNames.HOST);
Pattern pattern = Pattern.compile("^([a-z0-9]+)\\.([a-zA-Z0-9_%*:.]+)");
Matcher matcher = pattern.matcher(host);
if (matcher.matches()) {
String subDomain = matcher.group(1);
if (subDomain.equalsIgnoreCase("swift")) {
//use swift routes file
} else if(subdomain.equalsIgnoreCase("admin")) {
//use the admin routes file
} else {
//use the web route for all other subdomain or non-subdomain
}
}
return super.onRouteRequest(requestHeader);
}
Я видел множество вопросов в Интернете, в которых обсуждалось это, но ни один из них не был достаточно подробным, и, возможно, это play framework 2.4, все, что я видел, это play 1 и play scala. Я также понимаю, что лучший способ сделать это — через SbtProject https://www.playframework.com/documentation/2.2.x/SBTSubProjects Однако я не могу позволить себе такую роскошь. Любая помощь будет оценена.