然后配置Swagger网页的显示信息即可
package com.example.demo2.springbootmybatis.config;
import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
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.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
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfig {
Boolean swaggerEnabled = true;
@Bean
public Docket createRestApi() {
//http://ip地址:端口/项目名/swagger-ui.html#/
ApiInfo apiInfo = new ApiInfoBuilder()
//网站标题
.title("SpringBoot-Mybatis and JPA")
//网站描述
.description("Swagger for SpringBoot")
//版本
.version("1.0")
//联系人
.contact(new Contact("yxr","https://yuque.iloveyxr.top","54535282@qq.com"))
.build();
//swagger版本
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
//扫描那些controller
.apis(RequestHandlerSelectors.basePackage("com.example.demo2.springbootmybatis.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo);
}
}
然后访问本机的http://localhost:8080/swagger-ui.html
swagger会自动扫描我们配置的路径下的所有controller,并根据我们的方法名称或变量名称配置默认的名称
我们也可以利用注解配置自己的名称
- 在Controller之前使用
@Api
注解,配置我们的分类信息,比如这样
对应的页面就是 - 配置每个方法的信息
在Controller下的每个方法前面都使用@ApiOperation
来进行配置
属性 | 作用 |
---|---|
value | |
notes |
- 配置参数的信息
在参数前面添加@ApiParam
注解来配置参数的信息
| 属性 | 作用 | | —- | —- | | required | 表明参数是否是必须参数 | | value | 参数的描述信息 | | name | 参数的名称 |@ApiOperation(value = "根据id获取管理员的信息",notes = "只能获取到一位管理员的信息")
@GetMapping("/{id}")
public Result<Object> getOne(@PathVariable @ApiParam(required = true,value = "管理员id",name = "id") Integer id){
Admin adminData = adminService.getOne(id);
return new Result<>(5000,"success","ok",adminData);
}
swagger会自动扫描我们的参数获取方式,然后对应的显示不同的内容
比如,如果我们设置的是RequestBody
那么swagger里面显示的内容就是
而如果设置的是@PathVariable
那么显示的内容就会是这样