swaggerui

package module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

README

swaggerui

Based on flowchartsman/swaggerui

Embedded, self-hosted Swagger Ui for go servers

This module provides swaggerui.Handler, which you can use to serve an embedded copy of Swagger UI as well as an embedded specification for your API.

Install

go get github.com/ruko1202/swaggerui

Development

Update embedded Swagger UI assets:

make update-assets

Example usage

Single spec
package main

import (
	_ "embed"
	"log"
	"net/http"

	"github.com/ruko1202/swaggerui"
)

//go:embed swagger.json
var spec []byte

func main() {
	log.SetFlags(0)
	http.Handle("/swagger/", http.StripPrefix("/swagger", swaggerui.Handler(spec)))
	log.Println("serving on :8080")
	log.Fatal(http.ListenAndServe(":8080", nil))
}
Multiple specs
package main

import (
	_ "embed"
	"log"
	"net/http"

	"github.com/ruko1202/swaggerui"
)

//go:embed public-swagger.json
var publicSpec []byte

//go:embed admin-swagger.json
var adminSpec []byte

func main() {
	log.SetFlags(0)
	http.Handle("/swagger/", http.StripPrefix("/swagger", swaggerui.HandlerWithSpecs(
		[]swaggerui.Spec{
			{Name: "Public API", Content: publicSpec},
			{Name: "Admin API", Content: adminSpec},
		},
		swaggerui.WithPrimaryName("Public API"),
	)))
	log.Println("serving on :8080")
	log.Fatal(http.ListenAndServe(":8080", nil))
}

Documentation

Overview

Package swaggerui provides embedded Swagger UI HTTP handlers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handler

func Handler(spec []byte) http.Handler

Handler returns a handler that will serve a self-hosted Swagger UI with your spec embedded.

func HandlerWithSpecs added in v0.5.0

func HandlerWithSpecs(specs []Spec, opts ...Option) http.Handler

HandlerWithSpecs returns a handler that serves Swagger UI with multiple embedded specs.

Types

type Option added in v0.5.0

type Option func(*config)

Option configures a Swagger UI handler.

func WithPrimaryName added in v0.5.0

func WithPrimaryName(name string) Option

WithPrimaryName selects the document displayed when Swagger UI loads.

type Spec added in v0.5.0

type Spec struct {
	Name    string
	Content []byte
}

Spec is an embedded Swagger/OpenAPI document available in the UI selector.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL