设置swagger.ui.html的基本路径

dis*_*ame 6 java swagger spring-boot

有什么方法可以将Swagger 2内容移动到另一个基本URL?

我已经看到“ 如何为swagger 2.8.0做友好的基本URL ”以及这种解决方法:

@RequestMapping("/swagger")
public String greeting() {
    return "redirect:/swagger-ui.html";
}
Run Code Online (Sandbox Code Playgroud)

问题:

就我而言,这是不可能的!

我的服务器托管两个Web应用程序和一个REST api,这就是为什么我在这里遇到这个怪物的原因:

@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";
    }

}
Run Code Online (Sandbox Code Playgroud)

此设置与此Spring Security设置一起使用。

我需要大张旗鼓下才有空/a/swagger-ui.html,但这可能吗?


以下在我的下都无法工作ForwardController