com.wumugulu.config.Swagger2Define.java Source code

Java tutorial

Introduction

Here is the source code for com.wumugulu.config.Swagger2Define.java

Source

package com.wumugulu.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.async.DeferredResult;

import com.google.common.base.Predicate;
import com.google.common.base.Predicates;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2Define {

    @Bean
    public Docket userApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(userApiInfo()).groupName("full-API")
                .genericModelSubstitutes(DeferredResult.class)
                // .genericModelSubstitutes(ResponseEntity.class)
                .useDefaultResponseMessages(false).forCodeGeneration(false)
                // base??paths
                .pathMapping("/").select()
                // ?
                .paths(getPaths())
                // .paths( PathSelectors.regex("/users.*"))
                .build();
    }

    private Predicate<String> getPaths() {
        return Predicates.or(PathSelectors.regex("/users.*"), PathSelectors.regex("/books.*"));
    }

    private ApiInfo userApiInfo() {
        return new ApiInfoBuilder()
                // 
                .title("- API?")
                // ??
                .description("?-?")
                // 
                .version("1.0.0")
                // ?
                // .termsOfServiceUrl("http://www.sina.com")
                // 
                // .contact(new Contact("", "https://www.toutiao.com/c/user/52535034867/#mid=1559835256691714", "20668627@qq.com"))
                // license
                // .license("The Apache License, Version 2.0")
                // license
                // .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
                .build();
    }

}