spring boot 與 swagger 集成

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.regex("/api/.*"))
                .build()
                .apiInfo(getApiInfo());
    }

    @Bean
    public Docket restfulApi() {
        return new Docket(DocumentationType.SWAGGER_2).groupName("RestfulApi")
                .genericModelSubstitutes(ResponseEntity.class)
                .useDefaultResponseMessages(true)
                .forCodeGeneration(false)
                .select().paths(getPathRules())
                .build().apiInfo(getApiInfo());
    }
    
    /**
     * 設(shè)置過(guò)濾規(guī)則 這里的過(guò)濾規(guī)則支持正則匹配
     *
     * @return
     */
    private Predicate<String> getPathRules() {
        Iterable<Predicate<String>> ptn_excludes = Arrays.stream(excludePaths.split(","))
                .map(p -> ant(p))::iterator;
        return not(or(ptn_excludes));
    }

    private ApiInfo getApiInfo() {
        ApiInfo apiInfo = new ApiInfo("系統(tǒng) - REST API", getDescribe(),
                null, null, (Contact) null, null, null);
        return apiInfo;
    }

  private String getDescribe() {
        StringBuffer sb = new StringBuffer();
        sb.append("<b><font size=\"4\" color=\"red\">接口約定</font>");
        return sb.toString();
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容