springboot 集成swagger
Posted 继续潜水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 集成swagger相关的知识,希望对你有一定的参考价值。
了解到swagger 就记录下用法
pom.xml
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version> </dependency>
Swagger2.java
package com.b2q.sms.util; import java.util.ArrayList; import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.service.Parameter; @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { ParameterBuilder tokenPar = new ParameterBuilder(); List<Parameter> pars = new ArrayList<Parameter>(); tokenPar.name("token").description("令牌") .modelRef(new ModelRef("string")).parameterType("query").required(false).build(); pars.add(tokenPar.build()); return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.b2q")) .paths(PathSelectors.any()) .build().globalOperationParameters(pars) ; } @SuppressWarnings("deprecation") private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("个人测试") .description("个人测试用api") .termsOfServiceUrl("http://blog.csdn.net/penyoudi1") .contact("测试") .version("1.0") .build(); } }
Controller注解
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @RestController @RequestMapping("test") @Api(value="测试接口Controller") public class TestController { @ApiOperation(value="测试用接口", notes="测试用接口" ,httpMethod="POST") @ApiImplicitParams({ @ApiImplicitParam(name="name", value="用户姓名", dataType = "String", required=true, paramType="form"), @ApiImplicitParam(name="id", value="id", dataType = "int", required=false, paramType="form") }) @RequestMapping("word") public String HelloWord(String name,Integer id) { return "Hello Word"; }
访问路径:ip+端口/swagger-ui.html
swagger 个人感觉,适合快速开发,减少些接口文档的时间,
以上是关于springboot 集成swagger的主要内容,如果未能解决你的问题,请参考以下文章
springboot系列十springboot集成swaggerUI
SpringBoot——SpringBoot集成Swagger生成API文档