API Reference
Schema
gonest.NewSchema and PropertyBuilder branch reference
gonest.NewSchema[T](func(t *T, m *gonest.Schema) {...})
| Method | Description |
|---|---|
Title("...") | Name in components.schemas (defaults to Go type name). |
Property(&t.X) | Identify a field by pointer, returns a *PropertyBuilder. |
Base constraints (every branch)
Required(), Nullable(), Description("..."), Examples(...)
Branches
| Branch | Returns | Notes |
|---|---|---|
String(), Email(), Uuid(), Uri(), Hostname(), Ipv4(), Ipv6(), Password(), Byte(), Binary() | *StringMetadata | Min/Max/Pattern |
Integer(), Int32(), Float(), Double() | *NumericMetadata | Min/Max |
Boolean(), Date(), DateTime() | *PropertyBuilder | wrapper-less, base constraints only |
Array() | *ArrayMetadata | dual-state (container vs. item), see .Items(fn) |
Object(fn) | *ObjectMetadata | single-state, .Metadata(ref) / .AdditionalProperties() |
Custom(fn func(raw any) (any, error)) | *PropertyBuilder | universal escape hatch |
Parsing functions
MustParseRestParams[T]/ParseRestParams[T], MustParseRestQuery[T]/ParseRestQuery[T],
MustParseRestJsonBody[T]/ParseRestJsonBody[T], MustParseRestFormBody[T]/ParseRestFormBody[T].
See: Schema Builder Basics, Array Builder, Object Builder, Runtime Validation