Есть ли способ переместить контент Swagger 2 на другой базовый URL?
Я видел ", как сделать дружественный базовый URL для Swagger 2.8.0 ", а также этот вид обходного пути:
@RequestMapping("/swagger")
public String greeting() {
return "redirect:/swagger-ui.html";
}
Проблема:
Это невозможно в моем случае!
На моем сервере размещены два веб-приложения и API-интерфейс REST, поэтому у меня здесь есть этот монстр:
@Controller
public class ForwardController {
@RequestMapping(value = "/sitemap.xml", method = RequestMethod.GET)
public String redirectSitemapXml(HttpServletRequest request) {
return "forward:/a/web/assets/sitemap.xml";
}
@RequestMapping(value = "/robots.txt", method = RequestMethod.GET)
public String redirectRobotTxt(HttpServletRequest request) {
return "forward:/a/web/assets/robots.txt";
}
@RequestMapping(value = "/*", method = RequestMethod.GET)
public String redirectRoot(HttpServletRequest request) {
return "forward:/a/web/index.html";
}
@RequestMapping(value = "/a/**/{path:[^.]*}", method = RequestMethod.GET)
public String redirectClients(HttpServletRequest request) {
String requestURI = request.getRequestURI();
if (requestURI.startsWith("/a/admin/")) {
return "forward:/a/admin/index.html";
}
return "forward:/a/web/index.html";
}
}
Это соответствует настройкам Spring Security для этой настройки.
Мне нужно, чтобы swagger был доступен под /a/swagger-ui.html
, но возможно ли это?
Следующее не может работать и под моим ForwardController
: