Tapir
Type members
Classlikes
Inherited classlikes
Inherited types
Value members
Concrete methods
A body in any format, read using the given codec
, from a raw string read using charset
.
A body in any format, read using the given codec
, from a raw string read using charset
.
A body in any format, read using the given codec
, from a raw string read using UTF-8.
A body in any format, read using the given codec
, from a raw string read using UTF-8.
Inputs which describe authentication credentials with metadata.
Inputs which describe authentication credentials with metadata.
Requires an implicit Codec.JsonCodec in scope. Such a codec can be created using Codec.json.
Requires an implicit Codec.JsonCodec in scope. Such a codec can be created using Codec.json.
However, json codecs are usually derived from json-library-specific implicits. That's why integrations with various json libraries
define jsonBody
methods, which directly require the library-specific implicits.
Unless you have defined a custom json codec, the jsonBody
methods should be used.
Extract a value from a server request. This input is only used by server interpreters, it is ignored by documentation interpreters and the provided value is discarded by client interpreters.
Extract a value from a server request. This input is only used by server interpreters, it is ignored by documentation interpreters and the provided value is discarded by client interpreters.
An output which contains a number of variant outputs.
An output which contains a number of variant outputs.
All possible outputs must have a common supertype (T
). Typically, the supertype is a sealed trait, and the mappings are implementing
case classes.
When encoding to a response, the first matching output is chosen, using the following rules:
- the mappings
appliesTo
method, applied to the output value (as returned by the server logic) must returntrue
. - when a fixed content type is specified by the output, it must match the request's
Accept
header (if present). This implements content negotiation.
When decoding from a response, the first output which decodes successfully is chosen.
The outputs might vary in status codes, headers (e.g. different content types), and body implementations. However, for bodies, only replayable ones can be used, and they need to have the same raw representation (e.g. all byte-array-base, or all file-based).
Note that exhaustiveness of the mappings (that all subtypes of T
are covered) is not checked.
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure.
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure.
Should be used in oneOf output descriptions.
Create a one-of-mapping which uses output
i the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure. Adds a fixed status-code output with the given value.
Create a one-of-mapping which uses output
i the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Create a one-of-mapping which output
if the provided value exactly matches one of the values provided in the second argument list.
Create a one-of-mapping which output
if the provided value exactly matches one of the values provided in the second argument list.
Should be used in oneOf output descriptions.
Create a one-of-mapping which uses output
if the provided value exactly matches one of the values provided in the second argument
list. Adds a fixed status-code output with the given value.
Create a one-of-mapping which uses output
if the provided value exactly matches one of the values provided in the second argument
list. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Experimental!
Experimental!
Create a one-of-mapping which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure.
Should be used in oneOf output descriptions.
Experimental!
Experimental!
Create a one-of-mapping which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Create a one-of-mapping which uses output
if the provided value (when interpreting as a server matches the matcher
predicate.
Create a one-of-mapping which uses output
if the provided value (when interpreting as a server matches the matcher
predicate.
Should be used in oneOf output descriptions.
Create a one-of-mapping which uses output
if the provided value (when interpreting as a server matches the matcher
predicate. Adds
a fixed status-code output with the given value.
Create a one-of-mapping which uses output
if the provided value (when interpreting as a server matches the matcher
predicate. Adds
a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
An output which maps to the status code in the response.
An output which maps to the status code in the response.
Creates a stream body with a binary schema. The application/octet-stream
media type will be used by default, but can be later
overridden by providing a custom Content-Type
header value.
Creates a stream body with a binary schema. The application/octet-stream
media type will be used by default, but can be later
overridden by providing a custom Content-Type
header value.
- Value Params
- s
A supported streams implementation.
Creates a stream body with a text schema.
Creates a stream body with a text schema.
- Value Params
- charset
An optional charset of the resulting stream's data, to be used in the content type.
- format
The media type to use by default. Can be later overridden by providing a custom
Content-Type
header.- s
A supported streams implementation.
- schema
Schema of the body. This should be a schema for the "deserialized" stream.
Creates a stream body with a text schema.
Creates a stream body with a text schema.
- Value Params
- charset
An optional charset of the resulting stream's data, to be used in the content type.
- format
The media type to use by default. Can be later overridden by providing a custom
Content-Type
header.- s
A supported streams implementation.
- Type Params
- REQ
The type of messages that are sent to the server.
- REQ_CF
The codec format (media type) of messages that are sent to the server.
- RESP
The type of messages that are received from the server.
- RESP_CF
The codec format (media type) of messages that are received from the server.
Requires an implicit Codec.XmlCodec in scope. Such a codec can be created using Codec.xml.
Requires an implicit Codec.XmlCodec in scope. Such a codec can be created using Codec.xml.
Deprecated methods
Inherited methods
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
. Adds a fixed status-code output with the given value.
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
. Adds a fixed status-code output with the given value.
This will fail at compile-time if the type erasure of T
is different from T
, as a runtime check in this situation would give
invalid results. In such cases, use oneOfMappingClassMatcher, oneOfMappingValueMatcher or oneOfMappingFromMatchType
instead.
Should be used in oneOf output descriptions.
- Inherited from
- TapirMacros
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
.
Create a one-of-mapping which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
.
This will fail at compile-time if the type erasure of T
is different from T
, as a runtime check in this situation would give
invalid results. In such cases, use oneOfMappingClassMatcher, oneOfMappingValueMatcher or oneOfMappingFromMatchType
instead.
Should be used in oneOf output descriptions.
- Inherited from
- TapirMacros
Concrete fields
Implicits
Implicits
Inherited implicits
- Inherited from
- ModifyMacroSupport
- Inherited from
- ModifyMacroSupport