Skip to content

apple/swift-openapi-runtime

Folders and files

NameName
Last commit message
Last commit date
Dec 11, 2023
Apr 16, 2024
Apr 16, 2024
Mar 11, 2024
Oct 25, 2023
May 3, 2023
May 3, 2023
Oct 31, 2023
May 3, 2023
May 9, 2023
May 3, 2023
May 3, 2023
Nov 15, 2023
Nov 30, 2023
Dec 11, 2023
May 10, 2023

Repository files navigation

Swift OpenAPI Generator Runtime

This library provides common abstractions and helper functions used by the client and server code generated by Swift OpenAPI Generator.

Overview

It contains:

Many of the HTTP currency types used are defined in the Swift HTTP Types library.

Tip: Check out the example projects focused on middlewares.

Usage

Add the package dependency in your Package.swift:

.package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.0.0"),

Next, in your target, add OpenAPIRuntime to your dependencies:

.target(name: "MyTarget", dependencies: [
    .product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
]),

The next step depends on your use case.

Using Swift OpenAPI Generator for code generation

The generated code depends on types from this library. Check out the adoption guides in the Swift OpenAPI Generator documentation to see how the packages fit together.

Implementing transports and middlewares

Swift OpenAPI Generator generates client and server code that is designed to be used with pluggable transports and middlewares.

Implement a new transport or middleware by providing a type that adopts one of the protocols from the runtime library:

You can also publish your transport or middleware as a Swift package to allow others to use it with their generated code.

Documentation

To learn more, check out the full documentation.