SpringMVC+swagger swagger-ui.htmlのアクセスパスの変更

2579 ワード

ドキュメント:SpringMVC統合SwaggerUIアクセスパスリンクの変更:http://note.youdao.com/noteshare?id=752e0c4aa08400155a885965d05dd78b&sub=7842F4CB0FF142069D2101920134586A 
需要
Springmvcはswagger依存性を追加します:
    //  swagger
    compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'

集積が成功した後、訪問することを部屋で知っています.http://xxx:8080/swagger-ui.htmlでいいです.
アクセス先を次のように変更します.http://xxx:8080/api/swagger/swagger-ui.html
どうしようかな?
 
構想
swagger-ui.jarパッケージの下にはhtmlやjsなどのファイルが格納されています.
プロジェクトの開始後、http://xxx:8080/これらのファイルはwebrootディレクトリの下に保存され、WEB-INFと同級であることがわかります.
SpringMVC + swagger修改swagger-ui.html的访问路径_第1张图片    SpringMVC + swagger修改swagger-ui.html的访问路径_第2张图片
解決
1、swaggerの配置と使用は省略する
2、mvcのプロファイルに次の構成を追加します.


3、コントロールを追加し、いくつかの要求を転送する
@Controller
public class SwaggerController {

    @RequestMapping("/api/swagger/swagger-resources")
    public String resource() {
        return "forward:/swagger-resources";
    }

    @RequestMapping("/api/swagger/swagger-resources/configuration/ui")
    public String ui() {
        return "forward:/swagger-resources/configuration/ui";
    }

    @RequestMapping("/api/swagger/v2/api-docs")
    public String doc() {
        return "forward:/v2/api-docs";
    }
    @RequestMapping("/api/swagger/swagger-resources/configuration/security")
    public String security() {
        return "forward:/swagger-resources/configuration/security";
    }
}

追加:前のhttp://xxx:8080/swagger-ui.htmlリンクは、responseにステータスコード404を設定する方法を書くことができる.
よし、؏؏☝ᖗ///◡///ᖘ☝؏؏
リファレンス
https://github.com/springfox/springfox/issues/1080