对于swagger,我们就简单说一下;Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。
废话不多说,下面就来实际操作吧
一、 引入maven依赖
<!-- swagger2 核心依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- swagger2-ui 界面 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
二、 添加配置文件
Swagger2继承到springBoot还是很简单的,只需要添加这个配置类就行了
@Configuration
@EnableSwagger2
public class Swagger2Config {
// 设置默认TOKEN,方便测试
private static final String TOKEN = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ6aGFveGluZ3VvLVtST0xFX0FETUlOLCBBVVRIX1dSSVRFXSIsImV4cCI6MTUzOTMzOTM0NX0.P9dkLQ7lpNODJppHBM-InSS90nw0XJieK8QNlZM0TeuNNQ8sUPYH-uif099A1-P2Ap6b_9lCLbXL2iR0OLdFyw";
@Bean
public Docket createRestApi() {
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
tokenPar.name("Authorization").description("令牌").defaultValue(TOKEN).modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// 我这行意思是扫描带@Api注解的接口类
// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
// 但是一般使用包的扫描
.apis(RequestHandlerSelectors.basePackage("boss.portal.controller"))
.paths(PathSelectors.any())
.build()
.globalOperationParameters(pars);
}
private ApiInfo apiInfo() {
// 设置界面上关于公共的信息
return new ApiInfoBuilder()
.title("XXX项目的接口文档")
.description("XXX项目的接口文档")
.termsOfServiceUrl("http://主页")
.version("1.0")
.build();
}
}
其实这样就已经完成配置了,接下来就可以使用了,那么我们先写个接口来试试吧
三、测试
@Api(tags = "登陆接口", description = "这是登陆接口的描述")
@RestController
public class MainController {
@ApiOperation(value = "登录功能")
@ApiImplicitParams({
@ApiImplicitParam(name = "userName", value = "用户名", required = true, dataType = "String"),
@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String")})
@PostMapping("/login")
public Map<String, Object> login(String userName, String password){
Map<String, Object> map = new HashMap<>();
map.put("code", 1);
map.put("msg", "请求成功");
return map;
}
}
接下来就是启动项目,访问http://localhost:8080/swagger-ui.html在这个地址,我们就能看到相关信息了。