沉舟侧畔千帆过,病树前头万木春
Swagger通过example属性Mock复杂数据
2020-02-03 / 2 min read

通过example属性传递常规类型数据是相对比较容易的,例如字符串、数值等,直接填写值即可,对于复杂类型,笔者整理了一些经验可供分享。

  1. Date类型,设置dataType为Date, example填写参照时间,例如
    @ApiModelProperty(value = "目标送达时间", dataType = "Date", example = "2019-10-20 10:00:00")
     private String targetArriveTime;
    
  2. List和Set的简单类型,设置dataType为相应的类型,例如java.lang.Xx, example里面填写值[\"str1\", \"str2\"]即可, 例如Integer的列表可以这样:
    @ApiModelProperty(name = "测试id", required = false, dataType = "java.lang.Integer", example = "[1,2,3]")
     private List<Integer> testIds;
    
  3. List传递复杂类型,可以直接填写dataType, 无需设置example, 这个值的获取可以从具体的类里面取得场景2可以认为是特例。例如
    /**
      * 商品列表
      */
     @ApiModelProperty(value = "配送商品列表", dataType = "com.ke.utopia.scm.tms.base.vo.ProductItem")
     private List<ProductItem> productItemList;