github.com/hsdp/go-swagger@v0.19.0/docs/features.md (about)

     1  ## Full features list
     2  
     3  - [x] An object model that serializes to swagger yaml or json (see: [spec package](https://github.com/go-openapi/spec))
     4  - [x] A tool to work with swagger
     5    - [x] Serve swagger UI for any swagger spec file
     6    - [x] Flexible code generation, with customizable templates (package generator)
     7    - [x] Generate API based on swagger spec
     8    - [x] Generate go client from a swagger spec
     9    - [x] Support swagger polymorphism (discriminator with allOf composition)
    10    - [x] Validate a swagger spec document, with extra rules outlined [here](usage/validate.md)
    11    - [x] Validate JSON data against jsonschema (Draft 4), with full $ref support (see: [validate package](https://github.com/go-openapi/validate))
    12      - passes current json schema test suite
    13    - [x] Generate spec document based on annotated code (package scan)
    14      - generate meta data (top level swagger properties) from package docs
    15      - generate definition entries for models
    16      - support composed structs out of several embeds
    17      - support allOf for composed structs
    18      - generate path entries for routes
    19      - generate responses from structs
    20      - support composed structs out of several embeds
    21      - generate parameters from structs
    22      - support composed structs out of several embeds
    23  - [x] Middlewares (see: [runtime package](https://github.com/go-openapi/runtime))
    24    - [x] serve spec
    25    - [x] routing
    26    - [x] validation
    27    - [x] additional validation through an interface
    28    - [x] authorization, with auth composition (AND|OR authorization schemes)
    29      - basic auth
    30      - api key auth
    31      - oauth2 bearer auth
    32    - [x] swagger docs UI (docUI and redoc flavors)
    33  - [x] Typed JSON Schema implementation
    34    - [x] JSON Pointer that knows about structs
    35    - [x] JSON Reference that knows about structs
    36    - [x] Supports most JSON schema features<sup>[1](#footnote1)</sup>
    37  - [x] extended string and numeric formats (see: [strfmt package](https://github.com/go-openapi/strfmt))
    38    - [x] JSON-schema draft 4 formats
    39      - date-time
    40      - email
    41      - hostname
    42      - ipv4
    43      - ipv6
    44      - uri
    45    - [x] swagger 2.0 format extensions
    46      - binary
    47      - byte (e.g. base64 encoded string)
    48      - date (e.g. "1970-01-01")
    49      - password
    50    - [x] go-openapi custom format extensions
    51      - bsonobjectid (BSON objectID)
    52      - creditcard
    53      - duration (e.g. "3 weeks", "1ms")
    54      - hexcolor (e.g. "#FFFFFF")
    55      - isbn, isbn10, isbn13
    56      - mac (e.g "01:02:03:04:05:06")
    57      - rgbcolor (e.g. "rgb(100,100,100)")
    58      - ssn
    59      - uuid, uuid3, uuid4, uuid5
    60  - [x] Plays nice with golint, go vet etc.
    61  
    62  <a name="footnote1">1</a>: currently adds extra support for `additionalItems`(not part of swagger), but not `anyOf`, `oneOf` and `not`.