podhmo / gos

wip
MIT License
0 stars 0 forks source link

To schema prototype #3

Closed podhmo closed 1 year ago

podhmo commented 1 year ago

generated json by _examples/main.go https://github.com/podhmo/gos/pull/3/files#diff-ca5a130bae10a327e47aa31ce09f07ff45319253dfeab828204b4ed3da2691b3

{
  "components": {
    "schemas": {
      "Name": {
        "type": "string",
        "minlength": 1
      },
      "Person": {
        "type": "object",
        "description": "person object",
        "properties": {
          "name": {
            "type": "string",
            "description": "name of person"
          },
          "age": {
            "type": "integer",
            "format": "int32"
          },
          "nickname": {
            "$ref": "#/components/schemas/Name"
          },
          "father": {
            "$ref": "#/components/schemas/Person"
          },
          "friends": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Person"
            }
          }
        },
        "required": [
          "name",
          "age"
        ],
        "additionalProperties": false
      },
      "TestScore": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "tests": {
            "type": "object",
            "patternProperties": {
              "\\-score$": {
                "type": "integer",
                "description": "score (0~100)"
              },
              "\\-grade$": {
                "type": "string",
                "description": "grade (A,B,C,D,E,F)"
              }
            }
          }
        },
        "required": [
          "title",
          "tests"
        ],
        "additionalProperties": false
      }
    }
  }
}