pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
SwaggerConfig
- 这里面除了controller包的设置之外其他都随便写,像标题啊描述啊这些都随便写
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.qcl.controller"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
.title("标题11")
.description("描述")
.version("9.0")
.contact(new Contact("内容名字","www.baidu.com","[email protected]"))
.license("asd")
.licenseUrl("http://www.baidu.com")
.build());
}
}
在Controller类上使用注解
- 三个注解,一个类上使用,两个方法上使用,都是可用可不用的注解
- @Api:类的描述注解, @ApiOperation:方法的描述注解,@ApiImplicitParams有参数时可加上这个注解
package com.qcl.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("demo")
@Api(tags = "类的描述dsfsdsd")
public class DemoController {
@GetMapping("test")
@ResponseBody
@ApiOperation("测试的方法")
@ApiImplicitParams({
@ApiImplicitParam(name = "username", value = "用户名", defaultValue = "李四"),
@ApiImplicitParam(name = "password", value = "密码", defaultValue = "123", required = true)
}
)
public String test(String username,String password) {
return "vsdgvdfxg"+username+password;
}
}
访问
- 运行项目,访问下面链接:http://localhost:8080/swagger-ui.html,即可到swagger包生产的api文档页面
运行效果