swagger配置(SSM) maven

附上swagger注解解析
普通SSM项目搭建
​​​​​​​导入jar包
添加到 dependencies标签内

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!--springfox-ui的jar包(里面包含了swagger的界面静态文件)-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>
        <!--springfox依赖的jar包;如果你的项目中已经集成了无需重复-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>

创建swaggerConfig.java文件
ps:我是直接扔到controller文件夹内的,也可以单独一个文件夹存放

package com.bdqn.controller;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/*重要!如果你的项目引入junit测试(jar),此处需要使用@WebAppConfiguration,
如果没有使用junit使用@Configuration(友情转载~博客:jinqianwang)*/
@EnableSwagger2
@WebAppConfiguration
@EnableWebMvc
/*扫描controller层,监听~*/
@ComponentScan("com.bdqn.controller")
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("XXX项目接口文档")
                .description("XXX项目接口测试")
                .version("1.0.0")
                .termsOfServiceUrl("")
                .license("")
                .licenseUrl("")
                .build();
    }
}

追加内容到spring-mvc.xml

    </mvc:annotation-driven>
    <!--将静态资源交由默认的servlet处理-->
    <mvc:default-servlet-handler />
    <!--向容器自动注入配置-->
    <context:annotation-config />
    <!--重要!将你的SwaggerConfig配置类注入-->
    <bean class="com.bdqn.controller.SwaggerConfig"/>
    <!--重要!配置swagger资源不被拦截-->
   <!-- <mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
    <mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />-->

controller层

package com.bdqn.controller;

import com.alibaba.fastjson.JSONArray;
import com.bdqn.service.GoodsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/*tags是进去swgger-ui网页显示的controller名字,description是这个controller的描述*/
@Api(tags = "这是商品的API",description = "这是商品类的controller")
@RestController
public class GoodsController {
    @Resource
    private GoodsService goodsService;

    public GoodsService getGoodsService() {
        return goodsService;
    }

    public void setGoodsService(GoodsService goodsService) {
        this.goodsService = goodsService;
    }

    /*顺序不能反,必须先requestmapping*/
    @RequestMapping(value = "/goods",method = RequestMethod.GET)
    /*value是该请求的说明,httpMethod显示提交方式,notes是详细说明*/
    @ApiOperation(value = "直接获取所有商品信息",httpMethod="get",notes="获取商品信息")
    public String getDate(){
        return JSONArray.toJSONString(goodsService.findAll());
    }
}

demo结构图

 

猜你喜欢

转载自blog.csdn.net/chijiajing/article/details/83721071
今日推荐