swagger框架運用

Swagger功能強大,UI界面漂亮,並且支持在線測試,在項目中運用swagger方便項目測試,以下是springmvc中配置swagger框架。
一、引入Swagger相關的jar包

<!-- springMVC框架 start -->
.......
<!-- springMVC框架 start -->


<!-- swagger框架 start -->
<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-models</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>com.wordnik</groupId>
    <artifactId>swagger-annotations</artifactId>
    <version>1.3.11</version>
</dependency>
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml</groupId>
    <artifactId>classmate</artifactId>
    <version>1.1.0</version>
</dependency>
<!-- swagger框架 end -->

二、在springmvc配置文件(spring-mvc.xml)中加入swagger相關的配置

<!-- Swagger 配置 -->
<bean  class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
<mvc:resources mapping="/swagger/**" location="/WEB-INF/swagger/"/> 

三、在項目中加入swagger配置類

package com.eakom.swagger;
import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


/**
 * Swagger 配置類
 * @author eakom
 * @date 2017年12月1日
 */
@Configuration
@EnableSwagger
public class SwaggerConfig {


    private SpringSwaggerConfig springSwaggerConfig;


    /**
     * Required to autowire SpringSwaggerConfig
     */
    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
    {
        this.springSwaggerConfig = springSwaggerConfig;
    }


    /**
     * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
     * framework - allowing for multiple swagger groups i.e. same code base
     * multiple swagger resource listings.
     */
    @Bean
    public SwaggerSpringMvcPlugin customImplementation()
    {
        return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
                .apiInfo(apiInfo())
                .includePatterns(".*?");
    }


    private ApiInfo apiInfo()
    {
        ApiInfo apiInfo = new ApiInfo(
                "My Apps API Title",
                "My Apps API Description",
                "My Apps API terms of service",
                "My Apps API Contact Email",
                "My Apps API Licence Type",
                "My Apps API License URL");
        return apiInfo;
    }
}

四、在webapp/WEB-INF下加入swagger插件代碼,swagger代碼下載鏈接如下
http://download.csdn.net/download/eakom/10140984
五、找到webapp/WEB-INF/swagger文件中的index.html文件,打開把第40行代碼改爲
url = “http://localhost:8080/[ProjectName]/api-docs“;注意:[ProjectName]爲項目名,re:我的項目名爲OA,則URL爲http://localhost:8080/OA/api-docs
這裏寫圖片描述

六、在Controller中加入相關注解
1.類名前加入@Api(value=”/security”,description=”安全校驗”)
2.方法名前加入@ApiOperation(value = “用戶登陸校驗”, notes = “校驗用戶登錄信息,默認返回該用戶信息”)
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章