iwita 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
..
.editorconfig 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
.gitignore 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
.golangci.yml 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
.travis.yml 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
BUILD 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
CODE_OF_CONDUCT.md 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
LICENSE 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
README.md 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
bson.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
date.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
default.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
doc.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
duration.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
format.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
go.mod 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
go.sum 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos
time.go 445e0f60bf init-commit %!s(int64=5) %!d(string=hai) anos

README.md

Strfmt Build Status codecov Slack Status

license GoDoc GolangCI Go Report Card

This package exposes a registry of data types to support string formats in the go-openapi toolkit.

strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those.

Supported data formats

go-openapi/strfmt follows the swagger 2.0 specification with the following formats defined here.

It also provides convenient extensions to go-openapi users.

  • JSON-schema draft 4 formats
    • date-time
    • email
    • hostname
    • ipv4
    • ipv6
    • uri
  • swagger 2.0 format extensions
    • binary
    • byte (e.g. base64 encoded string)
    • date (e.g. "1970-01-01")
    • password
  • go-openapi custom format extensions
    • bsonobjectid (BSON objectID)
    • creditcard
    • duration (e.g. "3 weeks", "1ms")
    • hexcolor (e.g. "#FFFFFF")
    • isbn, isbn10, isbn13
    • mac (e.g "01:02:03:04:05:06")
    • rgbcolor (e.g. "rgb(100,100,100)")
    • ssn
    • uuid, uuid3, uuid4, uuid5
    • cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32")

NOTE: as the name stands for, this package is intended to support string formatting only. It does not provide validation for numerical values with swagger format extension for JSON types "number" or "integer" (e.g. float, double, int32...).

Format types

Types defined in strfmt expose marshaling and validation capabilities.

List of defined types:

  • Base64
  • CreditCard
  • Date
  • DateTime
  • Duration
  • Email
  • HexColor
  • Hostname
  • IPv4
  • IPv6
  • CIDR
  • ISBN
  • ISBN10
  • ISBN13
  • MAC
  • ObjectId
  • Password
  • RGBColor
  • SSN
  • URI
  • UUID
  • UUID3
  • UUID4
  • UUID5