zoukankan      html  css  js  c++  java
  • Knife4j 自定义参数解析

    Knife4j引入:

     <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
            </dependency>
    <knife4j.version>2.0.7</knife4j.version>

    配置:

    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.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
    
    @Configuration
    @EnableSwagger2WebMvc
    public class Knife4jConfiguration {
    
        @Bean(value = "defaultApi2")
        public Docket defaultApi2() {
            Docket docket=new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(new ApiInfoBuilder()
                            //.title("swagger-bootstrap-ui-demo RESTful APIs")
                            .description("# swagger-bootstrap-ui-demo RESTful APIs")
                            //.termsOfServiceUrl("http://www.xx.com/")
                            //.contact("xx@qq.com")
                            .version("1.0")
                            .build())
                    //分组名称
                    .groupName("2.X版本")
                    .select()
                    //这里指定Controller扫描包路径
                    .apis(RequestHandlerSelectors.basePackage("cn.*****.controller"))
                    .paths(PathSelectors.any())
                    .build();
            return docket;
        }
    }

    在实体类上的定义(关键):

    @ApiModel(value="批次",description="批次")
    public class Product extends Model<Product> {
    
        private static final long serialVersionUID = 1L;
    
        @JsonIgnore
        @TableId(value = "id", type = IdType.ASSIGN_ID)
        private String id;
    
        /**
         * mid
         */
        @ApiModelProperty(value = "mid",example = "232232323")
        private String mId;
    }

    备注:@JsonIgnore用来因此api文档上的显示。

    然后在controller中定义:

     @ApiOperation(value = "保存批次")
     @PostMapping("/saveProduct")
     public Result saveProductSensor(@ApiParam(name="product",value="批次实体",required=true) @RequestBody List<Product> product)

    然后运行,最终呈现效果如下:

     

    文章出处:www.cnblogs.com/jizhong

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

  • 相关阅读:
    Android UI法宝的设计资源的开发
    Ural 1309 Dispute (递归)
    ZOJ3827 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江I称号 Information Entropy 水的问题
    myeclipse如何恢复已删除的文件和代码
    在C#主线程和子线程将数据传递给对方如何实现
    SSh框架结构(Struts2.1+Hibernate4.0+Spring3.1)
    基于大数据分析的安全管理平台技术研究及应用【摘录】
    ulimit -t 引起的kill血案
    Oracle RAC 环境下的连接管理
    SMTP协议--在cmd下利用命令行发送邮件
  • 原文地址:https://www.cnblogs.com/jizhong/p/15602785.html
Copyright © 2011-2022 走看看