spring-boot集成swagger

来源:互联网 发布:php执行exec权限不足 编辑:程序博客网 时间:2024/06/05 20:24

swagger是为调试接口方便,而配置在项目中。


1、首先在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>

2、添加配置类。

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.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * Created by zhaoyahui on 2017-03-18. */@Configuration@EnableSwagger2public class Swagger2 {    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.SWAGGER_2)                .apiInfo(apiInfo())                .select()                .apis(RequestHandlerSelectors.basePackage("com.yunxiao.crawler.newzujuan.web"))//这里是调试的api的包名                .paths(PathSelectors.any())                .build();    }    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                .title("项目名称")                .description("项目说明")                .termsOfServiceUrl("http://www.yunxiao.com.cn")//项目项目信息url                .contact("联系人")                .version("1.0")//版本                .build();    }}

3、接口中添加swagger注解。

package com.yunxiao.crawler.newzujuan.web.crawler.edtion;import com.yunxiao.crawler.newzujuan.service.crawler.edition.EditionService;import com.yunxiao.crawler.newzujuan.vo.crawler.edition.EditionVo;import com.yunxiao.crawler.newzujuan.web.BaseController;import io.swagger.annotations.*;import org.jboss.logging.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Created by 赵亚辉 on 2017/8/15. */@RestController@RequestMapping("/edition")@Api(value = "2、edition", description = "版本控制类")public class EditionController extends BaseController {    private static final Logger logger= Logger.getLogger(EditionController.class);    @Autowired    private EditionService editionService;    @ApiOperation(value = "saveEdition", notes = "保存版本")    @ApiImplicitParams({            @ApiImplicitParam(paramType = "header", dataType = "String", name = "Authorization", value = "", defaultValue = "Basic access_token"),            @ApiImplicitParam(paramType = "header", dataType = "String", name = "Content-Type", value = "", defaultValue = "application/x-www-form-urlencoded"),    })    @GetMapping(value = "/saveEdition")    public String saveEdition(            @ApiParam(value = "学科") @RequestParam(value = "child") String child,            @ApiParam(value = "学段") @RequestParam(value = "xd") String xd,            @ApiParam(value = "cookie") @RequestParam(value = "cookie") String cookie,            HttpServletResponse response,HttpServletRequest request    ) {        EditionVo vo=new EditionVo();        vo.setXd(xd);        vo.setChild(child);        vo.setCookie(cookie);        editionService.saveEditions(vo);        logger.info(xd+"-"+child+"-"+"edition save over");        return "success";    }    }

4、启动项目,调试接口。

      项目启动后,用浏览器打开http://ip:port/swagger-ui.html。即可看到:


原创粉丝点击