ssm集成swagger
去github上下载
swagger下载地址
在pom.xml
<!--springfox的核心jar包-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<!--springfox-ui的jar包(里面包含了swagger的界面静态文件)-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
在webapp目录下新建swagger文件夹
把下载好的swagger
dist目录下的文件全复制到swagger下
在config包下新建SwaggerConfig类
package com.ssm.config;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableWebMvc
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket myDocket() {
Docket docket = new Docket(DocumentationType.SWAGGER_2);
ApiInfo apiInfo = new ApiInfoBuilder()
.title("Account[Api接口文档]") // 标题
.description("account描述文字") // 描述
.contact(new Contact("", "", "")) // 联系方式
.version("1.0") // 版本号
.build();
docket.apiInfo(apiInfo);
//设置只生成被Api这个注解注解过的Ctrl类中有ApiOperation注解的api接口的文档
docket.select().apis(RequestHandlerSelectors.withClassAnnotation(Api.class)).apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build();
return docket;
}
}
controller包下新建SwaggerController类
package com.ssm.controller;
import com.ssm.entity.Test;
import com.ssm.service.TestService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("")
@Api(value = "/api",tags = "111",description = "测试Swagger")
public class SwaggerController {
@Autowired
private TestService testService;
@RequestMapping(value = "/test",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获得数据库中test的表的数据",notes = "备注")
public List<Test> test(){
return testService.queryTest();
}
}
spring-mvc.xml中
<bean class="com.ssm.config.SwaggerConfig"/>
<mvc:resources mapping="/swagger/**" location="/swagger/"/>
访问swagger