zoukankan      html  css  js  c++  java
  • springboot + swagger2 学习笔记

    引入步骤

    1.添加依赖

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

    2.配置swagger2

    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
    
        /**
         * 可以定义多个组,比如本类中定义把test和demo区分开了 (访问页面就可以看到效果了)
         */
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.gt.controller"))
                    .paths(PathSelectors.any()).build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfo("SWAGGER接口文档", // 大标题
                    "没什么好写的", // 小标题
                    "2.0", // 版本
                    "NO terms of service", "Czt@Chenzetan", // 作者
                    "Czt", // 链接显示文字
                    ""// 网站链接
            );
        }
    }

    3.api代码

     @ApiOperation(value = "获取商家用户店铺分页列表",notes = "")
        @GetMapping
        public GTJsonResult getMainsList(HttpServletRequest request, Page page ) {
            Page<Main> mainsList = mainService.getMainsList(SessionUtil.getBusUser(request).getId(), page);
            if (mainsList.getRecords() == null || mainsList.getRecords().size() == 0) {
                return GTJsonResult.instanceErrorMsg("没有数据");
            }
            return GTJsonResult.instanceSuccessMsg(mainsList);
        }

    4.访问 host//swagger-ui.html查看

    遇到的问题:

      1.如果方法请求参数中为实体类,那么不需要添加注解,即可实现这种效果,实体的参数会以paramter方式请求,例如3中的代码,page为object类型,请求只需要current=3即可注入到page参数中

    2.上面这图为swagger较高版本,我用的是2.6.1,原来用2.2.2是不能实现这种效果。

    3.@requestbody注解不能用于Get方式请求中

    4.@ApiImplicitParam和@ApiParam 注意区分好,前面一个能指定参数的各个方面,包括paramType类型,例如在藏在路径中的getObject/{id} 这种的,apiparam注解就不能做到,暂时还不懂真正的区别是什么?有知道的请告知下!谢谢

    
    
    










  • 相关阅读:
    openlayers5之ol.proj坐标转换
    bootstrap模态框可拖动 --------------------- 本文来自 gisdoer 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/gisdoer/article/details/82838312?utm_source=copy
    bootstrap模态框可拖动
    leaflet实用插件整理
    面试题经常问的闭包问题
    撩课-Java每天5道面试题第15天
    撩课-Web大前端每天5道面试题-Day4
    撩课-Python-每天5道面试题-第4天
    撩课-Java每天5道面试题第14天
    撩课-Web大前端每天5道面试题-Day3
  • 原文地址:https://www.cnblogs.com/cztisthebest/p/7418458.html
Copyright © 2011-2022 走看看