ASTRO企业应用 ASTROPRO-swagger标签使用指南:2、x-default-empty

时间:2024-09-14 14:45:08

2、x-default-empty

作用

只支持get请求,指定String类型参数生成默认值为""。

需要配合metadata元数据中generatorPolicy的queryParamLimit使用,当将请求参数转换为对象后此标签才会生效。

标签值类型

boolean

使用位置

paths.path.operation.parameters.name.x-default-empty

当该标签置为true时,原定义默认值的default标签失效,该标签只可用于定义String参数为""。

使用示例

paths:
  /v1/cards:
    get:
     # 该接口设置了查询参数转换为对象的功能,最终所有的参数都会自动定义到一个对象中
      tags:
      - "CARD"
      summary: "查询所有Card"
      description: "Returns all Card"
      operationId: "ListCards"
      x-is-registered: 'N'
      x-support-sdk: 'N'
      x-mybatis-paging: true
      x-query-param-body: CardQo
      parameters:
      - name: "creator"
        in: "query"
        description: "creator"
        required: false
        type: "string"
        x-default-empty: true   # 使用 x-default-empty 指定creator的默认值为 ""

-----

使用效果:

使用前:

public class ListCardsQo implements Serializable {
    private static final long serialVersionUID = 1L;
    @JsonProperty("creator")
    private String creator = null;   // 此处生成的creator默认值为 null

    ------
}

使用后:

public class CardQo implements Serializable {   // 该示例使用了x-query-param-body指定了对象名为CardQo,所以和使用前的的示例中类名不一样
    private static final long serialVersionUID = 1L;
    @JsonProperty("creator")
    private String creator = "";  //此处生成的creator的默认值为 ""

    -------
}
support.huaweicloud.com/usermanual-astropro/astropro_05_0143.html