Springfox - 改变 swagger 的路径-ui
Springfox - change path of swagger-ui
现在 http://localhost:8080/myContextRoot/swagger-ui.html
提供 swagger
我可以配置 swagger 及其资源以在 http://localhost:8080/myContextRoot/swagger/swagger-ui.html
下提供服务吗
感谢您的帮助!
我采用了这种方法:
依赖性:
implementation 'org.tuckey:urlrewritefilter:4.0.4'
UrlRewrite Class:
@Component
public class SwaggerUrlRewriteFilter extends UrlRewriteFilter {
private static final String CONFIG_LOCATION = "/urlrewrite.xml";
@Value("classpath:/urlrewrite.xml")
private Resource resource;
@Override
protected void loadUrlRewriter(FilterConfig filterConfig) throws ServletException {
try {
//Create a UrlRewrite Conf object with the injected resource
Conf conf = new Conf(filterConfig.getServletContext(), resource.getInputStream(), resource.getFilename(), "@@yourOwnSystemId@@");
checkConf(conf);
} catch (IOException ex) {
throw new ServletException("Unable to load URL rewrite configuration file from " + CONFIG_LOCATION, ex);
}
}
}
并在资源文件夹中 urlrewrite.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<from>/swagger/swagger-ui.html</from>
<to type="passthrough">/swagger-ui.html</to>
</rule>
<rule>
<from>/swagger/webjars/(.*)</from>
<to type="passthrough">/webjars/</to>
</rule>
<rule>
<from>/swagger/v2/api-docs</from>
<to type="passthrough">/v2/api-docs</to>
</rule>
<rule>
<from>/swagger/configuration/(.*)</from>
<to type="passthrough">/configuration/</to>
</rule>
<rule>
<from>/swagger/swagger-resources</from>
<to type="passthrough">/swagger-resources</to>
</rule>
</urlrewrite>
之后的招摇之路是:
现在 http://localhost:8080/myContextRoot/swagger-ui.html
提供 swagger我可以配置 swagger 及其资源以在 http://localhost:8080/myContextRoot/swagger/swagger-ui.html
下提供服务吗感谢您的帮助!
我采用了这种方法:
依赖性:
implementation 'org.tuckey:urlrewritefilter:4.0.4'
UrlRewrite Class:
@Component
public class SwaggerUrlRewriteFilter extends UrlRewriteFilter {
private static final String CONFIG_LOCATION = "/urlrewrite.xml";
@Value("classpath:/urlrewrite.xml")
private Resource resource;
@Override
protected void loadUrlRewriter(FilterConfig filterConfig) throws ServletException {
try {
//Create a UrlRewrite Conf object with the injected resource
Conf conf = new Conf(filterConfig.getServletContext(), resource.getInputStream(), resource.getFilename(), "@@yourOwnSystemId@@");
checkConf(conf);
} catch (IOException ex) {
throw new ServletException("Unable to load URL rewrite configuration file from " + CONFIG_LOCATION, ex);
}
}
}
并在资源文件夹中 urlrewrite.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<from>/swagger/swagger-ui.html</from>
<to type="passthrough">/swagger-ui.html</to>
</rule>
<rule>
<from>/swagger/webjars/(.*)</from>
<to type="passthrough">/webjars/</to>
</rule>
<rule>
<from>/swagger/v2/api-docs</from>
<to type="passthrough">/v2/api-docs</to>
</rule>
<rule>
<from>/swagger/configuration/(.*)</from>
<to type="passthrough">/configuration/</to>
</rule>
<rule>
<from>/swagger/swagger-resources</from>
<to type="passthrough">/swagger-resources</to>
</rule>
</urlrewrite>
之后的招摇之路是: