美文网首页
添加swagger2到springboot

添加swagger2到springboot

作者: 清泉_QingQuan | 来源:发表于2018-12-27 19:16 被阅读0次

    1.添加pom.xml依赖

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
    

    2.添加@Configuration配置,swagger里面接口的访问地址可以通过参数host来设置,这样部署到测试环境也可以把接口调通。

    @Configuration
    @EnableSwagger2
    public class Swagger2 {
        @Value("${spring.profiles.active}")
        private String active;
    
        @Value("${server.port}")
        private String port;
    
        @Value("${baseControllerPackage}")
        private String baseControllerPackage;
    
        @Bean
        public Docket createRestApi() {
            if (active.equals("pro")) {
                baseControllerPackage = "com.gx.liveshow.null";
            }
            String host = "127.0.0.1:" + port;
            if (active.equals("test")) {
                host = "10.25.73.57:8080";
            }
            return new Docket(DocumentationType.SWAGGER_2)
                    .host(host)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage(baseControllerPackage))
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("接口文档")
                    .description("(1)测试环境BaseURL:http://127.0.0.1:8080/")
                    .version("1.0")
                    .build();
        }
    
    }
    

    3.添加@Configuration配置

    @Configuration
    public class WebMvcConfig extends WebMvcConfigurationSupport {
        @Override
        protected void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("swagger-ui.html")
                    .addResourceLocations("classpath:/META-INF/resources/");
    
            registry.addResourceHandler("/webjars/**")
                    .addResourceLocations("classpath:/META-INF/resources/webjars/");
        }
    }
    

    4.swagger的使用

    @RestController
    @RequestMapping("/city_shop")
    @Api(description = "城市商家相关的接口")
    @Validated
    public class CityShopController {
        @Autowired
        CityShopService cityShopService;
    
        @ApiOperation(value = "获取商家列表", httpMethod = "POST")
        @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页码,从1开始", defaultValue = "1", paramType = "query"),
                @ApiImplicitParam(name = "pageSize", value = "页数量", defaultValue = "10", paramType = "query")
        })
        @RequestMapping("/getList")
        public PageInfo<CityShop> getList(@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                          @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
            return cityShopService.getList(pageNum, pageSize);
        }
    }
    

    相关文章

      网友评论

          本文标题:添加swagger2到springboot

          本文链接:https://www.haomeiwen.com/subject/aniclqtx.html