JAVA--Swagger集成到SpringMVC

准备工作

创建一个Maven web工程

JAVA--Swagger集成到SpringMVC_第1张图片
maven web project

下载swagger-ui包

  • GitHub repository的Swagger UI工程(当前版本3.16)
  • 克隆或者下载该工程


    JAVA--Swagger集成到SpringMVC_第2张图片
  • 到Swagger UI工程文件夹下,打开dist文件夹
    JAVA--Swagger集成到SpringMVC_第3张图片
    dist文件夹位置
  • 找到index.html


    JAVA--Swagger集成到SpringMVC_第4张图片
    dist文件夹内容
  • 打开index.html并修改URL
    JAVA--Swagger集成到SpringMVC_第5张图片

    修改77行(当前版本在77行)
    url: "http://localhost:8686/Jiftown/v2/api-docs", //其中http://localhost:8686/Jiftown为你的工程地址
    JAVA--Swagger集成到SpringMVC_第6张图片
    修改后

集成swagger

copy dist文件目录下文件到webapp下swagger

JAVA--Swagger集成到SpringMVC_第7张图片
工程结构图

仅个人习惯

web.xml



    Archetype Created Web Application

    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        contextConfigLocation
        classpath:conf/spring/applicationContext-*.xml
    

    
    
        DataServer
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/dispatcher-servlet.xml
        
        1
    

    
        DataServer
        /
        
    

    
        字符集过滤器
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            字符集编码
            encoding
            UTF-8
        
    
    
        encodingFilter
        /*
    


dispatcher-servlet.xml




    
    

    
    
    

    
    
    

pom.xml


    4.0.0
    com.jiftown
    jiftown-main
    war
    1.0-SNAPSHOT
    jiftown-main Maven Webapp
    http://maven.apache.org
    
        
            junit
            junit
            3.8.1
            test
        
        
        
            io.springfox
            springfox-swagger2
            2.7.0
        
        
        
            org.springframework
            spring-webmvc
            4.3.9.RELEASE
        
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
        
    
    
        jiftown-main
    

SwaggerConfiguration.class

@EnableWebMvc
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("标题")
                .description("描述")
                .license("Apache 2.0")
                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
                .termsOfServiceUrl("")
                .version("1.0.0")
                .contact(new Contact("", "", "[email protected]"))
                .build();
    }
}

测试Swagger HelloWorldController.class

@Api(value = "HelloWorld",description = "HelloWorld")
@Controller()
@Scope("prototype")
public class HelloWorldController {
    @ApiOperation(value = "开放接口", httpMethod = "GET")
    @RequestMapping(value = "/sayHello", method = RequestMethod.GET)
    @ResponseBody
    public String sayHello(@RequestParam("key")String keyword, HttpServletRequest request, HttpServletResponse response) {
        System.out.println(keyword);
       return keyword;
    }
}

显示结果

JAVA--Swagger集成到SpringMVC_第8张图片
页面效果

参考

Swagger 官网

你可能感兴趣的:(JAVA--Swagger集成到SpringMVC)