Crate swagger

source ·
Expand description

Support crate for Swagger codegen.

Crate features

Crate features exist to reduce the dependencies on the crate. Most features should be enabled by the generator when relevant.

By default, the serdejson feature is enabled.

Format support

  • multipart_form - Enable support for multipart/form-data as described in RFC 7578
  • multipart_related - Enable support for multipart/related as described in RFC 2387
  • serdejson - Enable JSON serialization/deserialization support using serde.

Feature support

  • serdevalid - Enable support for JSON schema based validation
  • conversion - Enable support for Frunk-based conversion - in particular, transmogrification

Use case support

  • client - Enable support for providing an OpenAPI client
  • server - Enable support for providing an OpenAPI server
  • http1 - Enable support for HTTP/1 based APIs - RFC 9112
  • http2 - Enable support for HTTP/2 based APIs - RFC 9113
  • tcp - Enable support for HTTP over TCP
  • tls - Enable support for HTTP over TLS (HTTPS)
  • uds - Enable support for HTTP over UDS (Unix Domain Sockets)

Re-exports

Modules

  • Hyper service that adds a context to an incoming request and passes it on to a wrapped service.
  • Authentication and authorization data structures
  • Module for encoding API properties in base64.
  • compositesserver and (http1 or http2)
    Module for combining hyper services
  • connectorclient
    Module with utilities for creating connectors with hyper. Utility methods for instantiating common connectors for clients.
  • Module for API context management.
  • Hyper service that drops a context to an incoming request and passes it on to a wrapped service.
  • Helper functions for multipart encodings
  • Module for encoding Nullable properties.
  • Methods for retrieving swagger-related information from an HTTP request.

Macros

  • Macro for easily defining context values. The first argument should be a context type created with new_context_type! and subsequent arguments are the values to be stored in the context, with the outermost first.
  • Macro for easily defining context types. The first argument should be a context type created with new_context_type! and subsequent arguments are the types to be stored in the context, with the outermost first.
  • Defines a struct that can be used to build up contexts recursively by adding one item to the context at a time, and a unit struct representing an empty context. The first argument is the name of the newly defined context struct that is used to add an item to the context, the second argument is the name of the empty context struct, and subsequent arguments are the types that can be stored in contexts built using these struct.
  • A macro for joining together two or more RequestParsers to create a struct that implements RequestParser with a function parse_operation_id that matches hyper requests against the different RequestParsers in turn until it gets a match (or returns an error if none match)

Structs

  • Very simple error type - just holds a description of the error. This is useful for human diagnosis and troubleshooting, but not for applications to parse. The justification for this is to deny applications visibility into the communication layer, forcing the application code to act solely on the logical responses that the API provides, promoting abstraction in the application code.
  • Wrapper for a string being used as an X-Span-ID.

Enums

Constants

  • Header - X-Span-ID - used to track a request through a chain of microservices.

Traits

  • Additional function for hyper::Body
  • Helper Bound for Errors for MakeService/Service wrappers