当前位置: 首页 > 知识库问答 >
问题:

使用开放式api生成器在int64 swagger上不生成模式注释

李谦
2023-03-14

我正在使用swagger 2和open api 5.3.1生成器生成一些类。目前,它似乎没有在Long(swagger中定义为int64)上生成模式注释。我该怎么做?

昂首阔步:

id:
 type: integer
 format: int64
 pattern: '^\d{16,19}$'
 minLength: 16
 maxLength: 19

生成的代码

  @javax.annotation.Nonnull
  @NotNull
  @ApiModelProperty( required = true, )
  @JsonProperty(JSON_PROPERTY_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getId() {
    return id;
  }

共有1个答案

庾兴发
2023-03-14

模式关键字允许您为字符串值定义正则表达式模板

它不支持整数/长

https://swagger.io/docs/specification/data-models/data-types/#pattern

留档指出:

pattern关键字用于为字符串值定义正则表达式模板。仅接受与此模板匹配的值。使用的正则表达式语法来自JavaScript(更具体地说,是ECMA 262)。正则表达式区分大小写,也就是说,[a-z]和[a-z]是不同的表达式。例如,以下模式匹配123-45-6789格式的社会保险号(SSN):

ssn:
  type: string
  pattern: '^\d{3}-\d{2}-\d{4}$'

请注意,正则表达式包含在^...$令牌中,其中^表示字符串的开头,$表示字符串的结尾。如果没有^...$,模式作为部分匹配,即匹配任何包含指定正则表达式的字符串。例如,模式:宠物匹配宠物、宠物商店和地毯。^...$令牌强制执行精确匹配。

对于数据类型整数,它将如下所示:

    type: integer
    format: int64
    minimum: -86400
    maximum: 86400

澄清最小/最大值:

最小值和最大值使用最小值和最大值关键字指定可能值的范围:

type: integer
minimum: 1
maximum: 20

默认情况下,最小值和最大值包含在范围内,即:

minimum ≤ value ≤ maximum

要排除边界值,请指定ExclusiveMinum:true和exclusiveMaximum:true。例如,可以将浮点数范围定义为0–50并排除0值:

type: number
minimum: 0
exclusiveMinimum: true
maximum: 50

排他性最小和排他性最大中的“排他性”表示相应的边界被排除:关键字描述排他性最小:假或不包括值≥最小排他性最小:真值

 类似资料:
  • 问题 你需要准备一个复杂的、多部分的对象,你希望操作不止一次或有不同的配置。 解决方案 创建一个生成器封装对象的产生过程。 Todo.txt 格式提供了一个先进的但还是纯文本的方法来维护待办事项列表。手工输入每个项目有损耗且容易出错,然而 TodoTxtBuilder 类可以解决我们的麻烦: class TodoTxtBuilder constructor: (defaultParamet

  • 亦称: 建造者模式、Builder 意图 生成器模式是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。 问题 假设有这样一个复杂对象, 在对其进行构造时需要对诸多成员变量和嵌套对象进行繁复的初始化工作。 这些初始化代码通常深藏于一个包含众多参数且让人基本看不懂的构造函数中; 甚至还有更糟糕的情况, 那就是这些代码散落在客户端代码的多个位置

  • 5. 生成器(Builder) Intent 封装一个对象的构造过程,并允许按步骤构造。 Class Diagram Implementation 以下是一个简易的 StringBuilder 实现,参考了 JDK 1.8 源码。 // java public class AbstractStringBuilder { protected char[] value; protec

  • 构建器模式使用简单对象并使用逐步方法构建复杂对象。 这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。 Builder类逐步构建最终对象。 此构建器独立于其他对象。 实现 (Implementation) 我们考虑过快餐店的商业案例,其中典型的餐点可以是汉堡包和冷饮。 汉堡可以是蔬菜汉堡或鸡肉汉堡,将由包装纸包装。 冷饮可以是可乐或百事可乐,也可以装在一个瓶子里。 我们将创建

  • 我正试着把a类扩展成AX类。所以,我也扩展了abuilder。但是,虽然我能够使用以下方法创建类a的对象: 同样的方法对AX不起作用。当我尝试这样做时:

  • MOXy BeanValide使我能够将验证添加到我的JAXB类中。 使用MOXy的“Bean Validation Plugin”,我可以根据预先存在的模式中的限制/方面在生成的JAXB类中进行Bean验证。 但是,有没有任何方法可以基于JAXB注释的java类的Bean验证注释生成带有限制/facetsb的模式? 在“模式优先”生成java时,XJC有一个方便的插件体系结构,但是是否有任何等效