awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
go-swagger avatar

go-swagger/go-swagger

0
View on GitHub↗
9,989 stars·1,306 forks·Go·Apache-2.0·31 viewsgoswagger.io↗

Go Swagger

go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents.

The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command-line tool that maps each API operation to a subcommand, and hosts an interactive documentation server using Swagger UI or ReDoc. Code generation is customizable through user-supplied templates and vendor extensions.

Beyond code generation, the project validates specifications, compares documents for breaking changes, and merges multiple spec files into one. It can generate Markdown documentation and random test data from a specification. The toolkit is distributed as pre-compiled binaries for multiple platforms through GitHub releases and package managers.

Features

  • Code from Specification Generators - Generates Go server, client, and CLI code from Swagger/OpenAPI 2.0 specification documents.
  • Document Q&A - Generates fully functional Go HTTP servers from Swagger/OpenAPI 2.0 specifications.
  • Specification Merging - Resolves references, flattens schemas, or merges multiple Swagger/OpenAPI 2.0 specifications into one.
  • OpenAPI Client SDK Generators - Generates fully typed Go API client libraries from Swagger/OpenAPI 2.0 specifications.
  • Specification Transformers - Resolves, flattens, or merges Swagger/OpenAPI 2.0 specifications by inlining external references and reorganizing schemas.
  • Specification Consolidation - Resolves, flattens, or merges Swagger specification documents to consolidate references and definitions.
  • OpenAPI Specification Linters - Checks a Swagger/OpenAPI 2.0 document against the schema and project-specific rules for correctness.
  • Spec-Driven Client Generators - Generates a Go client from a Swagger/OpenAPI spec file, providing request and response handling for the described API.
  • API-to-CLI Generators - Generates a full CLI tool that maps each API operation to a subcommand.
  • Specification from Code Generators - Produces Swagger/OpenAPI 2.0 specifications by scanning annotated Go source code.
  • API Authentication Schemes - Generates server and client code that supports Basic Auth, API key, and Bearer token authentication schemes.
  • Swagger Document Validators - Checks a Swagger/OpenAPI 2.0 specification against the schema and additional rule sets for correctness.
  • Symmetric Code Generators - Generates both client and server code from the same specification, ensuring request/response handling consistency.
  • Swagger Specification Validators - Checks a Swagger 2.0 document against the specification and applies extra validation rules to catch common errors.
  • OpenAPI Specification Generators - Generates OpenAPI 2.0 specifications by scanning annotated Go source code at compile time.
  • Spec-from-Annotation Generators - Scans Go source annotations to produce a complete Swagger specification document.
  • Swagger - Generates Go struct definitions with validation from Swagger specification schemas.
  • Data Model Generators - Creates Go struct definitions and validators for the schemas defined in a Swagger/OpenAPI 2.0 specification.
  • Go Code Generators - Generates a fully typed Go client library from a Swagger specification.
  • Specification from Code Generators - Produces Swagger/OpenAPI 2.0 specifications by scanning annotated Go source code.
  • Mock Server Generators - Generates fully functional Go HTTP servers with routing and validation from Swagger specifications.
  • CLI Command Generators - Produces a command-line tool that maps each API operation to a subcommand from a Swagger specification.
  • Specification Validation Schemas - Validates Swagger/OpenAPI 2.0 documents against the specification schema and custom rule sets.
  • OpenAPI Specification Validators - Validates Swagger/OpenAPI 2.0 documents against the schema and project-specific rules without runtime execution.
  • API Specification Compliance Tools - Checks a Swagger 2.0 document for structural correctness and compliance with the specification.
  • Specification from Code Generators - Produces Swagger/OpenAPI 2.0 specifications by scanning annotated Go source code.
  • API Client Generators - Generates fully typed Go API client libraries from Swagger/OpenAPI 2.0 specifications.
  • Specification Transformers - Resolves references, flattens inline schemas, or merges multiple Swagger/OpenAPI 2.0 specifications into one.
  • Specification Validators - Checks a Swagger/OpenAPI 2.0 specification against the schema and project-specific rules, reporting any violations.
  • OpenAPI Specification Transformers - Resolves, flattens, and merges Swagger/OpenAPI 2.0 documents through a multi-stage processing pipeline.
  • API Documentation Generators - Generates Markdown documentation describing endpoints and models from a Swagger specification.
  • Template-Based Code Customizers - Allows overriding default templates and injecting vendor extensions to customize generated code.
  • Breaking Change Detectors - Compares two Swagger/OpenAPI 2.0 specifications and reports breaking changes in backward compatibility.
  • OpenAPI Specification Comparators - Compares two Swagger specification documents and reports breaking changes in backwards compatibility.
  • Frontend API Mocking - Ships a built-in server that hosts a live, interactive UI for an API specification with mock data.
  • API Specification UI Rendering - Hosts an interactive Swagger UI documentation page for any given Swagger/OpenAPI 2.0 specification.
  • Template-Based Code Customizers - Modifies generated code output through vendor extensions and user-supplied templates.
  • Template-Based Code Generators - Allows users to override default code generation templates and inject vendor extensions for tailored output.
  • Interactive API Documentation Servers - Hosts an interactive Swagger UI documentation page for any Swagger/OpenAPI 2.0 specification file.
  • HTTP Client Configurations - Sets custom headers, transports, and round trippers on the generated client to modify request handling.
  • OpenAPI - Compares two Swagger/OpenAPI 2.0 specifications and fails a build if the newer version breaks backward compatibility.
  • API Specification Transformers - Resolves references, flattens schemas, and merges multiple Swagger/OpenAPI 2.0 specification files.
  • API Specification Breaking Change Detectors - Compares two Swagger/OpenAPI 2.0 specifications and reports breaking changes in backward compatibility.
  • JSON Schema Validation - Validates JSON data against JSON Schema Draft 4 definitions with reference resolution.
  • API Documentation Hosting - Serves interactive Swagger UI documentation pages for any Swagger/OpenAPI 2.0 specification.
  • Interactive API Documentation UIs - Hosts a live Swagger UI or ReDoc interface from a specification file for browsing and testing endpoints.
  • Annotated Response Models - Annotates Go structs with swagger:response to specify the schema and content type of API responses.
  • Struct-to-Parameter Mappings - Marks struct fields with swagger:params to define path, query, or header parameters for an API operation.
  • API Design and Generation - Implementation of Swagger 2.0 for Go services.
  • Development Utilities - Implements Swagger 2.0 for Go applications.
  • Documentation Tools - Full Swagger 2.0 implementation.
  • Frameworks and Libraries - Tools for API documentation, generation, and validation.

Star history

Star history chart for go-swagger/go-swaggerStar history chart for go-swagger/go-swagger

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does go-swagger/go-swagger do?

go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents.

What are the main features of go-swagger/go-swagger?

The main features of go-swagger/go-swagger are: Code from Specification Generators, Document Q&A, Specification Merging, OpenAPI Client SDK Generators, Specification Transformers, Specification Consolidation, OpenAPI Specification Linters, Spec-Driven Client Generators.

What are some open-source alternatives to go-swagger/go-swagger?

Open-source alternatives to go-swagger/go-swagger include: orval-labs/orval — Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients, data-fetching hooks, mock… swagger-api/swagger-core — swagger-core is a set of libraries for parsing, generating, and serializing OpenAPI specifications to automate REST… apple/swift-openapi-generator — The Swift OpenAPI Generator is a build-time tool that produces type-safe Swift client and server code directly from… deepmap/oapi-codegen — oapi-codegen is a suite of generators that converts OpenAPI 3 specifications into type-safe Go client libraries,… oapi-codegen/oapi-codegen — oapi-codegen is an OpenAPI specification compiler and code generator for Go. It transforms OpenAPI definitions into… azure/autorest — AutoRest is a multi-language SDK generator and OpenAPI code generator designed to produce consistent software…

Open-source alternatives to Go Swagger

Similar open-source projects, ranked by how many features they share with Go Swagger.
  • orval-labs/orvalorval-labs avatar

    orval-labs/orval

    6,145View on GitHub↗

    Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients, data-fetching hooks, mock data, validation schemas, and server handlers from OpenAPI or Swagger specifications. It reads any YAML or JSON API specification and generates TypeScript interfaces, HTTP request functions, and framework-specific integration code that ensures compile-time correctness for all API calls. The project distinguishes itself by generating production-ready data-fetching hooks for React Query, Vue Query, Svelte Query, Solid Query, Angular, and SWR, complete with automatic cache invalidati

    TypeScript
    View on GitHub↗6,145
  • deepmap/oapi-codegendeepmap avatar

    deepmap/oapi-codegen

    8,398View on GitHub↗

    oapi-codegen is a suite of generators that converts OpenAPI 3 specifications into type-safe Go client libraries, server boilerplate, and data models. It provides tools for producing production-ready HTTP clients and server-side interfaces to ensure that Go implementations remain compliant with defined API contracts. The tool supports server generation across various web frameworks and allows for extensive customization via template overrides, specification overlays, and custom type definition mappings. It handles complex API requirements through external reference resolution to organize code

    Go
    View on GitHub↗8,398
  • apple/swift-openapi-generatorapple avatar

    apple/swift-openapi-generator

    1,935View on GitHub↗

    The Swift OpenAPI Generator is a build-time tool that produces type-safe Swift client and server code directly from OpenAPI specification documents. By integrating with build systems through native plugins, it automates the creation of strongly-typed interfaces and protocol stubs that map network operations to native methods, ensuring that application code remains strictly consistent with defined data schemas. The project distinguishes itself through a protocol-oriented architecture that decouples business logic from specific transport implementations. It utilizes a pluggable transport layer

    Swiftios-swiftopenapiplugin
    View on GitHub↗1,935
  • swagger-api/swagger-coreswagger-api avatar

    swagger-api/swagger-core

    7,528View on GitHub↗

    swagger-core is a set of libraries for parsing, generating, and serializing OpenAPI specifications to automate REST API documentation. It provides tools to read, validate, and transform JSON or YAML specifications into programmable objects, as well as a generator that scans source code and annotations to create formal technical descriptions of an API. The project enables bi-directional specification serialization, allowing in-memory API definitions to be converted between native language objects and structured files. It uses a plugin-based scanning mechanism and annotation-driven generation t

    Javahacktoberfestjavaopen-source
    View on GitHub↗7,528
See all 30 alternatives to Go Swagger→

Curated searches featuring Go Swagger

Hand-picked collections where Go Swagger appears.
  • REST API Development Tools