Spring Boot 集成Swagger2

第一步: 在pom.xml文件中引入Swagger2的包

  <properties>
    <springfox.version>2.2.2</springfox.version>
  </properties>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>${springfox.version}</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>${springfox.version}</version>
    </dependency>

第二步: 编写Swagger的控制类

@Configuration
@EnableSwagger2
public class SwaggerConfiguration implements EnvironmentAware {
    private final Logger log = LoggerFactory.getLogger(SwaggerConfiguration.class);
    public static final String DEFAULT_INCLUDE_PATTERN = "/.*";
    private RelaxedPropertyResolver propertyResolver;

    @Override
    public void setEnvironment(Environment environment) {
        this.propertyResolver = new RelaxedPropertyResolver(environment, "swagger.");
    }

    @Bean
    public Docket swaggerSpringfoxDocket() {
        StopWatch watch = new StopWatch();
        watch.start();
        Docket swaggerSpringMvcPlugin = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .genericModelSubstitutes(ResponseEntity.class)
                .select()
                //设置需要扫描的web包路径,去掉自带的BaseErrorController测试接口,只显示自己包下面的接口
                .apis(RequestHandlerSelectors.basePackage("com.vx.jk"))  
                .paths(regex(SwaggerConfiguration.DEFAULT_INCLUDE_PATTERN)) 
                .build();
        watch.stop();
        return swaggerSpringMvcPlugin;
    }

    private ApiInfo apiInfo() {
        return new ApiInfo(
                propertyResolver.getProperty("title"),
                propertyResolver.getProperty("description"),
                propertyResolver.getProperty("version"),
                propertyResolver.getProperty("termsOfServiceUrl"),
                propertyResolver.getProperty("contact"),
                propertyResolver.getProperty("license"),
                propertyResolver.getProperty("licenseUrl")
        );
    }

}

第三步:写一个测试的web类

package com.vx.jk.web;

@RestController
@RequestMapping("jk")
@Api(value = "测试Controller", description = "测试类")  
public class PhotoPriceController {

    private static Logger LOG = LoggerFactory.getLogger(PhotoPriceController.class);

    /*
    @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”;其他参数可参考源码;
    @ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”
    @RequestParam(value = "id") 再get请求时,已id=数据值的形式拼接到url的?后面,如果不加,参数可能接受不到数据
    @RequestBody 添加在输入参数上时,标识输入的数据是一个body体对象,如果不加,post提交的对象数据,参数可能接受不到数据,并且一个接口只能有一个body参数
     */
    @ApiOperation(value = "输入ID",httpMethod="GET", notes = "返回字符串", response = String.class)
    @RequestMapping(value = "/home", method = RequestMethod.GET)
    public String home(@ApiParam(name="id", value="编号", required=true)@RequestParam(value = "id") String id,
                                        HttpServletRequest request){
        System.out.println(id+"------"+request.getParameter("id"));
        return "helloworld"+id;
    }
}

第四步; 启动项目 测试Swagger是否成功。
访问路径:http://localhost:8080/项目名/swagger-ui.html
这里写图片描述

输入字符111后的返回结果:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值