openapi toolkit common string formats
Clone or download
casualjim Merge pull request #44 from mrostecki/deepcopy
Add DeepCopy and DeepCopyInto methods to all types
Latest commit dd2bd34 Jan 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github adds license etc Apr 17, 2016
conv add conv pkg Feb 7, 2017
hack update ci/travis to work with multiple packages Feb 7, 2017
.editorconfig use more of govalidator where possible Jan 3, 2017
.gitignore adds drone build Apr 17, 2016
.golangci.yml Fix hostname validation regexp Dec 28, 2018
.travis.yml #30 github.com/go-mgo/mgo is no longer maintained Sep 10, 2018
CODE_OF_CONDUCT.md adds license etc Apr 17, 2016
LICENSE adds license etc Apr 17, 2016
README.md Linting Jul 2, 2018
bson.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
bson_test.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
date.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
date_test.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
default.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
default_test.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
doc.go reformat Nov 19, 2015
duration.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
duration_test.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
format.go Doc work: README, godoc and linting Feb 2, 2018
format_test.go Linting Oct 27, 2018
go.mod add go.mod and go.sum Oct 7, 2018
go.sum add go.mod and go.sum Oct 7, 2018
time.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019
time_test.go Add DeepCopy and DeepCopyInto methods to all types Jan 16, 2019

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

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
  • ISBN
  • ISBN10
  • ISBN13
  • MAC
  • ObjectId
  • Password
  • RGBColor
  • SSN
  • URI
  • UUID
  • UUID3
  • UUID4
  • UUID5