Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
swagger-ui
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
If you want to follow along, you can use the Fastify Speakeasy Bar example repository.
With Speakeasy, you can create client SDKs based on an OpenAPI specification. Fastify ships with the @fastify/swagger plugin, which provides convenient shortcuts for generating good OpenAPI specifications. We'll start this tutorial by registering @fastify/swagger in a Fastify project to generate a spec.
import fp from "fastify-plugin"; import swagger from "@fastify/swagger"; export default fp(async (fastify) => { fastify.register(swagger, { openapi: { info: { tags: [ { name: "drinks", description: "Drink-related endpoints", externalDocs: { description: "Find out more", url: "http://swagger.io", }, }, ], }, }, }); });
You'll need Node.js installed (we used Node v20.5.1), and you'll need to install the Fastify CLI.
The Speakeasy sdk-generation-action repository provides workflows that can integrate the Speakeasy CLI in your CI/CD pipeline, so your client SDKs are regenerated when your OpenAPI spec changes.