最近项目中需要使用到swagger来出api文档 查了很多相关教程 感觉不是很简洁明了 就写一篇小白教程仅供参考
springboot这里就不做过多介绍相信看这篇的对springboot多少了解 直接进入主题需要用到swagger2就要在pom中引入依赖
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<!-- END Swagger -->
然后自己编写一个swagger2的类 直接copy去即可
@Configuration
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.jimu.system.controller.api"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger构建api文档")
.description("简单优雅的restfun风格,http://blog.csdn.net/archangeltron")
.termsOfServiceUrl("http://blog.csdn.net/archangrltron")
.version("1.0")
.build();
}
}
.apis(RequestHandlerSelectors.basePackage("com.jimu.system.controller.api"))
注意一下这行 这行是用来写你对应的controller层的地址 替换这个即可
然后是启动项 添加一个@EnableSwagger2注解
@SpringBootApplication
@MapperScan("com.jimu.system.mapper")
/**开启Swagger*/
@EnableSwagger2
public class SystemApplication{
public static void main(String[] args) {
SpringApplication.run(SystemApplication.class, args);
}
}
前期准备工作完成
这是我的目录结构
上面那个地址根据你们自己的目录结构填写
在cotroller层上添加相应的注解一般用在写注释上
启动项目后,访问 http://localhost:8080/swagger-ui.html 前面地址端口号 自行修改
就会跳出来swagger-ui的界面点击即可对controller中的接口进行测试
swagger注解说明:
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiImplicitParam:一个请求参数
- @ApiImplicitParams:多个请求参数
新手小白 写的不对的请多指教