java - 如何在 Swagger Open API 3.0 规范中定义电子邮件格式?

标签 java node.js api swagger openapi

在我 Swagger 的 Open API 文档中,我给出了如下的对象定义:

"definitions": {
  "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
     
          "firstName": {
            "type": "string"
          },
        
          "email": {
            "type": "string"
          },
          "shipDate": {
            "type": "string",
           "format": "date-time"
          },
         "status": {
          "type": "string",
          "description": "Order Status",
        "enum": [
          "placed",
          "approved",
          "delivered"
        ]
      }
}

我找不到电子邮件地址的格式,例如:

 "email": {
        "type": "string",
        "format" : "####"
      }

我通过了官方Doc ,他们说:

Formats such as "email", "uuid", and so on, MAY be used even though undefined by this specification. Types that are not accompanied by a format property follow the type definition in the JSON Schema.

我正在努力实现这一目标,有什么提示可以实现吗?

最佳答案

您可以使用正则表达式 pattern 来限制可接受的电子邮件域。例如,如果电子邮件必须以 .io 结尾,您可以使用 \.[Ii][Oo]$ 模式:

"email": {
  "type": "string",
  "format": "email",
  "pattern": "\\.[Ii][Oo]$"
}

请注意,字符串中的 \ 字符被转义为 \\

关于java - 如何在 Swagger Open API 3.0 规范中定义电子邮件格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63191398/

相关文章:

java - 向 ProcessBuilder 添加参数 - Java

java - 在 jfilechooser 中包含图像缩略图

java - 将第一个单词移动到 Java 中的最后一个位置

java - 对 Grails 服务使用类型有什么影响?

iphone - iTunes 连接 API

javascript - 当我通过 postman 收到请求时,它不会向我显示数据,但对于书籍来说它有效

node.js - 应如何正确处理 Azure Function 中 Azure 服务总线/主题客户端的打开和关闭?

JavaScript 数组基于元素的新数组

java - 如何在android App中实现基于Token的Rest API

java - 使用 Java 读取 YouTube 评论源