-
添加相关依赖
<!-- springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <!-- springfox-swagger-ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
-
编写配置类
@EnableSwagger2 //开启Swagger2的支持 @Configuration public class SwaggerConfig { /** * 在spring容器配置一个bean对象 * @Bean等价于 <bean id="createRestApi" class="xxxx.Docket"> * @return */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//扫描有ApiOperation注解的方法 .paths(PathSelectors.any()) .build(); } /** * 创建api的基本信息 * @return */ private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("集成Swagger2构建RESTful APIs") .description("集成Swagger2构建RESTful APIs") .termsOfServiceUrl("自定义") .contact(new Contact("自定义","自定义","自定义")) .license("采用 Apache 2.0 开源许可证") .licenseUrl("自定义") .version("1.0.0") .build(); } }
-
使用,直接在代码上使用
@Api("springboot使用swagger测试") @RestController public class SwaggerController { @ApiOperation(value = "获取用户信息", notes = "根据id来获取用户详细信息") @ApiImplicitParams({ @ApiImplicitParam(paramType = "path", name = "id", value = "用户ID", dataType = "Integer"), @ApiImplicitParam(paramType = "path", name = "status", value = "用户状态", dataType = "Integer"), }) @ApiResponses({ @ApiResponse(code = 400, message = "缺少必要的请求参数"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对") }) @RequestMapping(value = "/swagger/{id}/{status}",method = RequestMethod.GET) public Users getUserInfo(@PathVariable("id") Integer id, @PathVariable("status") Integer status) { Users users = new Users(); users.setId(id); users.setNick("cat"); users.setPhone("1370000000"); users.setPassword("******"); users.setEmail("cat@163.com"); users.setAccount("NO68958886878664"); return users; } }
-
说明
- @Api
- 用在类上,说明该类的作用
- @ApiOperation
- 用在方法上,说明该方法的作用
- @ApiImplicitParams
- 用在方法上,描述一组参数说明
- @ApiImplicitParam
- 用在@ApiImplicitParams注解上,用于描述某个参数的说明
- @ApiResponses
- 表示一组响应
- @ApiResponse
- 用在@ApiResponses注解上,用于描述某个响应
- @Api
-
还有@ApiModel和@ApiModelProperty用于描述某个模型及其属性
相关文章
- 11-17springBoot+thymeleaf遇到Resource interpreted as Stylesheet but transferred with MIME type text/plain
- 11-17Bugly SDK 集成使用
- 11-17SpringBoot接收前端参数的三种方法
- 11-17LED芯片,应用品,蓝宝石衬底,集成电路,UV
- 11-17【iOS QR Code】集成ZXingWidget(XCode Version 4.5.2,iOS 6.0 SDK)
- 11-17SpringBoot+vue.js搭建图书管理系统 开源项目
- 11-17搭建springboot admin
- 11-17Python – 在等高线内集成2D核密度估计
- 11-17Springboot Maven 多模块项目中 @Service跨模块引用失败的问题
- 11-17持续集成环境(6)-Tomcat安装和配置(编写中)