一、搭建好ssm框架
二、引入swagger的jar包,如果是web项目则需要把jar包放在lib下
<!--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>
<!--springfox依赖的jar包;如果你的项目中已经集成了无需重复-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
三、建立新包,加入一个类SwaggerConfig
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/*重要!如果你的项目引入junit测试,此处需要使用@WebAppConfiguration,如果没有使用junit使用@Configuration(很多的博客都没有注明这个问题,为此我花了非常多的时间解决问题)*/
@Configuration
@EnableSwagger2//重要!
@EnableWebMvc
@ComponentScan(basePackages = "com.dt.controller")//扫描control所在的package请修改为你control所在package
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("韩剧项目接口文档")
.description("韩剧项目接口测试")
.version("1.0.0")
.termsOfServiceUrl("")
.license("")
.licenseUrl("")
.build();
}
}
四、加入注解注入
<bean class="com.dt.swagger.SwaggerConfig"/>
里面是类的地址,这里是我的路径,根据实际情况修改
五、导入swagger -ui 页面
下载地址https://swagger.io/tools/swagger-ui/download/
六、swagger-ui下载完成后,放在任意的位置,然后运行
七、修改上图中的index.html里面的参数
修改为:http://localhost:端口/v2/api_docs
八、启动项目,运行index.html即可查看到相应的接口
九、测试controller,添加详细的注解,页面的信息也会更加的详细
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Controller
@RequestMapping(value = "/soa")
@Api(value="test1",description="测试接口描述")
public class TestController1 {
/*
* @ApiOperation(value = "接口说明", httpMethod ="接口请求方式", response ="接口返回参数类型", notes ="接口发布说明"
*
* @ApiParam(required = "是否必须参数", name ="参数名称", value ="参数具体描述"
*/
@RequestMapping("test")
@ApiOperation(value="接口说明(测试)",httpMethod="GET",notes="在没有会话、没有签名的情况下,进入方法体")
public void test(HttpServletRequest request, HttpServletResponse response) {
try {
response.getWriter().write("ignoreAll");
} catch (IOException e) {
e.printStackTrace();
}
}
}